Lecture schedule

The lecturing schedule with slides are given below. The slides will be updated as the course progresses. Due to the ongoing presence of human malware, all teaching will be online. The lectures will take place via MS teams at:

Additionally there will be a working college after the lecture using gather.town in the Balloon room:

There is a new programming assignment every week, and the peer reviews for that assignment are due one week later.

Week Date Slides and Notes Deadlines
6 8/2
11/2
No lecture: Masters Introduction
Introduction
 
7 15/2
18/2
Laziness & Testing
Monads
 
8 22/2
25/2
26/2
Applicative
Monad transformers
Assignment 1

Project proposal
9 1/3
4/3
Lambda calculus
GADTs
Assignment 2
10 8/3
11/3
Type Families
Generic programming
Assignment 3
11 15/3
18/3
Wrap-up generics; Agda intro
Agda - lists and vectors

Assignment 4 due on March 18th
12 22/3
25/3
26/3
Agda - proofs
Assignment 5

Project status report
13 29/3
1/4
Lenses and optics
Guest lecture: Alejandro Serrano Mena
 
14 8/4 Project presentations  
15 12/4
16/4
Final exam
Project submission deadline