Lecture schedule

The lecturing schedule with slides are given below. The slides will be updated as the course progresses.

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