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 2 Sep Functional Programming? Haskell? Chapters 1 and 2 Frank
Thu 4 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 9 Sep Lists and recursion Chapters 5 and 6 Frank
Thu 11 Sep Data types and type classes
Example code from lecture
Chapter 8 (until 8.6) Matthijs
38 Tue 16 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 18 Sep Data structures
The Code for the point location example
Frank
39 Tue 23 Sep Case studies
Q&A session
Chapters 8.6 Mathijs
Thu 25 Sep Input and output
Example code from lecture
Chapter 10 Matthijs
40 Tue 30 Sep
Project management and design Frank
Thu 2 Oct 13:30-15:30 Midterm exam
41 Tue 7 Oct Functors and monads
Example code from lecture
Chapter 12 (except 12.2) Matthijs
Thu 9 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 14 Oct Testing
Code from the lecture
Chapter 11 of Real World Haskell Frank
Thu 16 Oct Lazy evaluation Chapter 15 Frank
43 Tue 21 Oct More monads and applicatives
Example code from lecture
Chapter 12.2 Matthijs
Thu 23 Oct
Exam Practice Session
44 Tue 28 Oct
Q&A session (for exam prep) Code from the lecture
Syllabus
Frank
Thu 30 Oct
No Lecture – prepare for the exam!
45 Thu 6 Nov 13:30-16:30 Final exam