Functional Programming
Functional Programming Syllabus 2026
On this page
- Score Components
- 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: Agentic Functional Software Development
- Week 14: Project-Based Learning
- Week 15: Project-Based Learning
- Week 16: Final Exam (Project Presentation)
Functional Programming
Score Components
- Quiz 1: 5% (week 4)
- Quiz 2: 5% (week 6)
- Mid-Term Exam: 25%
- Rust Presentation: 20%
- Final Exam: 30%
- Project Progress 1: 5% (week 5)
- Project Progress 2: 10% (week 10)
Week 1: Introduction to Functional Programming
Topics:
- Imperative vs. Functional Programming
- Pure Functions
- Immutability
- Benefits
- Final Project, Class A: Smart Soil IoT and KalimantanBio Knowledge Explorer; Class B: Aerial Analytics Platform
Project-Based Learning Information
Week 2: Introduction to Lambda Calculus
Topics:
- Variables
- Function Abstraction
- Function Application
- Alpha Conversion, Beta Reduction, 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:
itertoolsfunctoolspartial()- Exercises
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: Agentic Functional Software Development
Topics:
- Introduction to Agentic Coding
- From AI Coding Assistants to Coding Agents
- Task Specification and Context Engineering
- Agentic Code Generation in Rust
- Agentic Debugging and Error Resolution
- Agentic Refactoring
- Agent-Generated Testing and Validation
- Human–Agent Collaboration and Code Review
- Verifying AI-Generated Code
- Responsible Use of Coding Agents
Week 14: Project-Based Learning
Milestones:
- ???
Deliverables:
- ???
Week 15: Project-Based Learning
Milestones:
- ???
Deliverables:
- ???
Week 16: Final Exam (Project Presentation)
- Presentation
- Code
- And Final Technical Report
Good Luck!