Lectures

Be aware: the following schedule and the contents of the slides are currently still subject to change.

Week Date Topic Preparatory reading Lecturer
36 Tue 5 Sep Functional Programming? Haskell? Chapters 1 and 2 Frank
Thu 7 Sep Basics Chapters 4 (up to 4.4) and 3
Chapter 5 from the Lecture Notes
Notes on type inference from during the lecture
Frank
37 Tue 12 Sep Lists and recursion Chapters 5 and 6 Frank
Thu 14 Sep Data types and type classes
Example code from lecture
Chapter 8 (until 8.6) Matthijs
38 Tue 19 Sep Higher-order functions
Writing applyAll as a fold
Example code from lecture
Example Python code demonstrating map/filter/fold
Chapter 7 and 4.5-4.6 Matthijs
Thu 21 Sep Data structures
The Code for the point location example
Frank
39 Tue 26 Sep Case studies
Q&A session
Chapters 8.6 Frank
Thu 28 Sep Project management and design Frank
40 Tue 3 Oct
Input and output
Example code from lecture
Chapter 10 Matthijs
Thu 5 Oct 17:00-19:30 Midterm exam
41 Tue 10 Oct Functors and monads
Example code from lecture
Chapter 12 (except 12.2) Matthijs
Thu 12 Oct Laws and induction
Example proofs from lecture
Chapter 16 (up to 16.6)
Chapter 13 from the Lecture Notes
More about correctness (optional):
Matthijs
42 Tue 17 Oct Testing
Code from the lecture
Chapter 11 of Real World Haskell Frank
Thu 19 Oct Lazy evaluation Chapter 15 Frank
43 Tue 24 Oct Guest lecture by Alejandro Serrano
Thu 26 Oct More monads and applicatives
Example code from lecture
Chapter 12.2 Matthijs
44 Tue 31 Oct
Q&A session (for exam prep) Solutions to exercises discussed
Syllabus
Matthijs
Thu 2 Nov
No Lecture – prepare for the exam!
45 Thu 9 Nov 17:00-19:30 Final exam