FIT2102 · Monash University
Programming paradigms
- Credit points
- 6
- Level
- 2
- Workload
- ≈ 12 h / week
- Faculty
- Information Technology
What it covers
This unit introduces the major ways of thinking about programs by comparing imperative, object-oriented, functional, and declarative styles of programming. It focuses on the underlying ideas that make languages expressive and useful, including abstraction, composition, data modelling, state and side effects, evaluation strategies, and the role of types in program design. You will learn to solve problems in more than one programming style, compare the clarity and maintainability of alternative solutions, and explain why different paradigms suit different types of problems. Through practical work, the unit develops the conceptual flexibility needed for later study in compilers, logic programming, and high-performance computing.
Assessment
| Task | Type | Weight |
|---|---|---|
| Applied quizzes | Quiz / Test | 20% |
| Assignment 2 Haskell Programming | Project | 30% |
| Applied classwork | Exercise | 20% |
| Assignment 1 Functional Reactive Programming | Project | 30% |
When and where
| Teaching period | Campus | Mode |
|---|---|---|
| Second semester | Malaysia | On-campus |
| Clayton | On-campus |