This page will contain info about the assignments, as they are released. See the schedule for information about when future assignments will be released.

You can download the assignments from Canvas. Submit your assignments via Gradescope.

LaTeX: If you are interested in typesetting your assignments using LaTeX, there are many tutorials and introductions. We will provide some LaTeX files for you to use to write your homeworks.

AssignmentAssignedDue
1 Operational semantics; induction 30 Jan20 Feb
2 Denotational semantics; Fixed points; Lambda calculus implementation 20 Feb29 Feb
3 Call-by-need; Encodings; Continuation-passing style translation 5 Mar26 Mar
4 Recursive types; Existential and universal types; Type Inference 26 Mar9 Apr
5 Monad Laws; Lambda-Print; (Optional: Monadic Interpreter) 9 Apr18 Apr
6 Axiomatic Semantics; Logic Programming 16 Apr23 Apr