Functional Programming
Functional Programming Syllabus 2026
On this page
- Week 1: Introduction to Functional Programming
- Week 2: Introduction to Lambda Calculus
- Week 3: Higher-Order Functions in Lambda Calculus
- Week 4: Recursion and Fixed-Point Combinators
- Week 5: Functional Programming in Python
- Week 6: Functional Programming Utilities in Python
- Week 7: Introduction to Rust
- Week 8: Mid-term Exam
- Week 9: Functional Programming in Rust
- Week 10: Pattern Matching and Functional Error Handling
- Week 11: Advanced Functional Programming in Rust
- Week 12: Functional Concurrency in Rust
- Week 13: AI-Assisted Functional Software Development (Vibe Coding)
- Week 14: Project-Based Learning
- Week 15: Project-Based Learning
- Week 16: Final Exam (Project Presentation)
Functional Programming
Lecture Notes (LN)
Week 1: Introduction to Functional Programming
Topics:
- Imperative vs. Functional Programming
- Pure Functions
- Immutability
- Benefits
Week 2: Introduction to Lambda Calculus
Topics:
- Variables
- Function Abstraction
- Function Application
- Alpha, Beta, and Eta Reduction
- Boolean Logic
Week 3: Higher-Order Functions in Lambda Calculus
Topics:
- Church Encoding
- Church Numerals
- Higher-Order Functions
Week 4: Recursion and Fixed-Point Combinators
Topics:
- Recursive Functions
- Fixed-Point Concept
- Y-Combinator
Week 5: Functional Programming in Python
Topics:
- Lambda Functions
- Closures
- Decorators
- Generators
- Higher-Order Functions
Week 6: Functional Programming Utilities in Python
Topics:
itertoolsfunctoolsmap()filter()reduce()partial()
Week 7: Introduction to Rust
Topics:
- Cargo
- Variables
- Data Types
- Functions
- Ownership
- Borrowing
- Immutability
Week 8: Mid-term Exam
Please hit the books!
Week 9: Functional Programming in Rust
Topics:
- Closures
- Iterators
map()filter()fold()collect()
Week 10: Pattern Matching and Functional Error Handling
Topics:
matchif letenumOptionResult
Week 11: Advanced Functional Programming in Rust
Topics:
- Traits
- Generics
- Lifetimes (Conceptual)
- Iterator Adapters
- Custom Iterators
Week 12: Functional Concurrency in Rust
Topics:
- Rayon
- Parallel Iterators
- Channels
- Shared State
- Functional Concurrency
Week 13: AI-Assisted Functional Software Development (Vibe Coding)
Topics:
- Introduction to Vibe Coding
- Prompt Engineering for Functional Programming
- AI-Assisted Code Generation
- AI-Assisted Debugging
- AI-Assisted Refactoring
- AI-Assisted Testing
- Human-in-the-Loop Code Review
- Responsible AI Usage in Software Development
Activities:
- Build a small Rust application using an AI coding assistant.
- Critically evaluate, verify, and improve AI-generated code.
Week 14: Project-Based Learning
Milestones:
- ???
Deliverables:
- ???
Week 15: Project-Based Learning
Milestones:
- ???
Deliverables:
- ???
Week 16: Final Exam (Project Presentation)
Good Luck!