Besides the ‘weekly’ assignments, you are expected to complete a larger project in a small group.

We have written some advice and project guidelines


The weekly assignments can be found below. Check the schedule for the deadlines.

  1. Smooth permutations
  2. Monads and applicatives
  3. Term and type-level recursion
  4. Generic programming
  5. Agda

Peer review

We ask that all the weekly assignments are graded by you and your peers. We have established a procedure for peer review. The peer reviews are due the week after that assignment is due. Doing the peer reviews will help you learn the course material, so it is important to do them as you go!

Additional exercises

We have a collection of small programming assignments that will form the basis of the lab exercises during the course.