Functional Programming
Functional Programming Syllabus
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 Y-Combinator
- Week 5: Generator, Decorator, and HOFs in Python
- Week 6: Itertools and Functools
- Week 7: Introduction to Haskell
- Week 8: Mid-term Exam
- Week 9: Haskell -
- Week 10: Haskell -
- Week 11: Introduction to Rust
- Week 12: Rust
- Week 13: Rust
- Week 14: Rust
- Week 15: Rust/Project-based learning
- Week 16: Final Exam (Project Presentation)
Functional Programming
Lecture Notes (LN)
Week 1: Introduction to Functional Programming!
Week 2: Introduction to Lambda Calculus
Week 3: Higher-Order Functions in Lambda Calculus
Week 4: Recursion and Y-Combinator
Week 5: Generator, Decorator, and HOFs in Python
Week 6: Itertools and Functools
Week 7: Introduction to Haskell
Will Kurt, Get Programming with Haskell, Manning Publications (2018)
Lesson 1, 2, 3, and 6.
Week 8: Mid-term Exam
Please hit the books…!
Week 9: Haskell -
Assitant Lesson 7, 8, and 9
Week 10: Haskell -
Assistant Lesson 12, 13, 16, 17, and 18
Week 11: Introduction to Rust
Group Assignment data type; function; Ownership & borrowing (immutability); closures & iterator
Week 12: Rust
Group Assignment map, filter, fold; match & if let; and other tools for pattern matching
Week 13: Rust
Group Assignment ADT; Option, Result; functional error handling
Week 14: Rust
Group Assignment Chaining iterator; parallel iterator (Rayon)
Week 15: Rust/Project-based learning
Group Assignment Functional Concurrency & Multi-Processing; Asynchronous & Functional Streams; Higher-Order Functions in Concurrency
Week 16: Final Exam (Project Presentation)
Good Luck..!