🧩 Module 05: Functional Programming¶
Functional Programming (FP) is a paradigm that treats computation as the evaluation of pure functions and avoids shared state and mutable data. This module focuses on building predictable, testable code using FP ideas in Python.
Estimated Time: 8-10 hours
Prerequisites: Module 01 (Foundations)
Level: ⭐⭐ Intermediate
📚 Topics Covered¶
| # | Topic | Description | Key Concepts |
|---|---|---|---|
| 01 | Pure Functions | Deterministic functions without side effects | determinism, referential transparency |
| 02 | Immutability | Avoid changing data in place | tuples, frozen data, copy-on-write |
| 03 | Higher-Order Functions | Functions that take/return functions | callbacks, composition |
| 04 | Lambda Expressions | Anonymous functions for short logic | lambda, inline functions |
| 05 | Map, Filter, Reduce | Transform and reduce collections | map, filter, reduce |
| 06 | Closures | Functions that remember outer variables | enclosing scope, nonlocal |
| 07 | Decorators | Functions that wrap other functions | @syntax, wrappers |
🎯 Learning Goals¶
By the end of this module, you should be able to:
- Write pure functions and reason about their behavior.
- Use immutable data to avoid accidental bugs.
- Compose logic with higher-order functions.
- Use lambda expressions for concise transformations.
- Leverage map/filter/reduce for collection processing.
- Build and use closures for stateful functions.
- Apply decorators to extend functionality cleanly.
📂 Module Structure¶
05_functional_programming/
├── README.md
├── 01_pure_functions/
│ ├── README.md
│ ├── examples.py
│ ├── exercises.py
│ └── quiz.md
├── 02_immutability/
│ ├── README.md
│ ├── examples.py
│ ├── exercises.py
│ └── quiz.md
├── 03_higher_order_functions/
│ ├── README.md
│ ├── examples.py
│ ├── exercises.py
│ └── quiz.md
├── 04_lambda_expressions/
│ ├── README.md
│ ├── examples.py
│ ├── exercises.py
│ └── quiz.md
├── 05_map_filter_reduce/
│ ├── README.md
│ ├── examples.py
│ ├── exercises.py
│ └── quiz.md
├── 06_closures/
│ ├── README.md
│ ├── examples.py
│ ├── exercises.py
│ └── quiz.md
└── 07_decorators/
├── README.md
├── examples.py
├── exercises.py
└── quiz.md
Ready to start? Begin with 01_pure_functions!