Functional Programming

Functional Programming Syllabus 2026

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

Lecture Notes

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

Lecture Notes

Topics:

  • Variables
  • Function Abstraction
  • Function Application
  • Alpha Conversion, Beta Reduction, 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

Topics:

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

Week 6: Functional Programming Utilities in Python

Topics:

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

  • 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: 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!