Lectures

Literature

Slides

Date Slides Recommended reading
Thu 7 Sep 0. Course introduction
1. FP? Haskell?
Chapters 1 and 2
Tue 12 Sep 2. Basics Chapters 4 (up to 4.4) and 3
Chapter 5 from the Lecture Notes
Thu 14 Sep 3. Lists and recursion Chapters 5 and 6
Tue 19 Sep 4. Higher-order functions Chapter 7 and 4.5-4.6
Thu 21 Sep 5. Data types and type classes Chapter 8 (until 8.6)
Tue 26 Sep 6. Data structures
Thu 28 Sep 7. Case studies (slides 1-19 and 41-45)
Q&A session
Chapters 8.6-8.7 and 9
Tue 3 Oct Midterm exam
Thu 5 Oct 8a. Project management
8b. Design and DSLs
Chapter 16 from the Lecture Notes
Tue 10 Oct 9. Input and output Chapter 10
Thu 12 Oct 10. Laws and induction Chapter 16 (up to 16.6)
Chapter 13 from the Lecture Notes
Tue 17 Oct 11. Functors and monads Chapter 12 (except 12.2)
Thu 19 Oct 12. More monads, applicatives and traversables Chapters 12.2 and 14.3
Tue 24 Oct 13. Testing with QuickCheck Chapter 11 of Real World Haskell
More about correctness (very optional):
Thu 26 Oct Swift by Wouter Swierstra
Tue 31 Oct 14. Lazy evaluation Chapter 15
Thu 2 Nov Review
Thu 9 Nov Final exam