Functional Programming

Functional Programming Syllabus 2026

Functional Programming

Lecture Notes (LN)

Week 1: Introduction to Functional Programming

Lecture Notes

Topics:

  • Imperative vs. Functional Programming
  • Pure Functions
  • Immutability
  • Benefits

Week 2: Introduction to Lambda Calculus

Lecture Notes

Topics:

  • Variables
  • Function Abstraction
  • Function Application
  • Alpha, Beta, and Eta Reduction
  • Boolean Logic

Week 3: Higher-Order Functions in Lambda Calculus

Lecture Notes

Topics:

  • Church Encoding
  • Church Numerals
  • Higher-Order Functions

Week 4: Recursion and Fixed-Point Combinators

Lecture Notes

Topics:

  • Recursive Functions
  • Fixed-Point Concept
  • Y-Combinator

Week 5: Functional Programming in Python

Lecture Notes

Topics:

  • Lambda Functions
  • Closures
  • Decorators
  • Generators
  • Higher-Order Functions

Week 6: Functional Programming Utilities in Python

Lecture Notes

Topics:

  • itertools
  • functools
  • map()
  • 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:

  • match
  • if let
  • enum
  • Option
  • Result

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!