Sequence 17 — Functional Programming
Pure functions, immutability, higher-order functions, map/filter/reduce, lambda expressions and function composition — deliberately contrasted against the procedural and object-oriented work in Sequence 11. AQA 4.12.
Introduction to Functional Programming
- Explain the characteristics of functional programming
- Compare it with procedural and object-oriented paradigms
Lesson ready
Pure Functions, Immutability and Recursion
- Explain pure functions and immutable data
- Identify unintended mutation and hidden state in given code
Lesson ready
Higher-Order Functions
- Explain how higher-order functions improve code reuse and readability
- Apply map, filter and lambda expressions to transform and select data
Lesson ready
Evaluating Functional Programming
- Evaluate the advantages, disadvantages and applications of functional programming within modern software development
- Compare procedural, object-oriented and functional solutions to the same problem against explicit constraints
Lesson ready