Lecture schedule
The lecturing schedule with slides are given below. The slides will be updated as the course progresses.
- Monday, 11:00 – 12:45
- Wednesday, 11:00 – 12:45
There is a new programming assignment every week, and the peer reviews for that assignment are due one week later.
| Week | Date | Material | Deadlines |
|---|---|---|---|
| 6 | 2/2 | No lecture (Master Intro) | |
| 4/2 | Introduction | ||
| 7 | 9/2 | Testing | |
| 11/2 | Monads | ||
| 8 | 16/2 | Applicatives | Assignment 1 Project proposal |
| 18/2 | Laziness | ||
| 9 | 23/2 | Lambda calculus | Assignment 2 Assignment 1 peer review (both the night before) |
| 25/2 | GADTs | ||
| 10 | 02/3 | Elm | |
| 04/3 | Template Haskell | Assignment 3 Assignment 2 peer review (both the night before) |
|
| 11 | 09/3 | Type families | |
| 11/3 | Generics | ||
| 12 | 16/3 | Generics and Agda demo - wrap up | Assignment 4 Assignment 3 peer review (both the night before) |
| 18/3 | Agda programming | Project halfway report (the night before) | |
| 13 | 23/3 | Agda EDSL design | |
| 25/3 | Agda proofs | Assignment 5 Assignment 4 peer review (both the night before) |
|
| 14 | 30/3 | Agda wrap up | |
| 1/4 | Project presentation | Assignment 5 peer review | |
| 15 | 7/4 | Exam | |
| 10/4 | Project hand in |