The due dates for each assignment are in Gradescope.
| Date | Notes |
|---|---|
| Tuesday, Sep 4 | Lecture 1. Out: Functional Programming (intro-to-fp.ml). |
| Thursday, Sep 6 | Lecture 2. |
| Tuesday, Sep 11 | Lecture 3. |
| Thursday, Sep 14 | Lecture 4. Out: Interpreter (interp.ml). |
| Tuesday, Sep 18 | Lecture: Type Checking (Part 1). |
| Thursday, Sep 20 | Lecture: Type Checking (Part 2). Out: Type Checker. (tc.ml). |
| Tuesday, Sep 25 | Type Soundness. Recommended Reading: A Syntactic Approach to Type Soundness |
| Thursday, Sep 27 | Lecture: Type Inference. |
| Tuesday, Oct 2 | Lecture: Dafny and Axiomatic Semantics |
| Thursday, Oct 4 | |
| Tuesday, Oct 9 | No class. (Monday schedule.) |
| Thursday, Oct 12 | Lecture: Weakest Preconditions. Out: Verification. (verif.ml, z3_debug.sh) |
| Tuesday, Oct 16 | Lecture: Verification with Z3. |
| Thursday, Oct 18 | Refinement Types. |
| Tuesday, Oct 23 | Refinement Types. |
| Thursday, Oct 25 | A Tutorial Implementation of a Dependently Typed Lambda Calculus |
| Tuesday, Oct 30 | Dependent Types. |
| Thursday, Nov 1 | Dependent Types. |
| Tuesday, Nov 6 | Class cancelled. (Arjun at SPLASH.) |
| Thursday, Nov 8 | Lecture: Continuations |
| Tuesday, Nov 13 | Lecture: Continuation Passing Style |
| Thursday, Nov 15 | Reading: Closure Conversion. Out: Compiler (compiler.ml) |
| Tuesday, Nov 20 | No class. (Thanksgiving Recess.) |
| Thursday, Nov 22 | No class. (Thanksgiving Recess.) |
| Tuesday, Nov 27 | Probabilitic Programming |
| Thursday, Nov 29 | Functional Reactive Programming |
| Tuesday, Dec 4 | Class cancelled. |
| Thursday, Dec 6 | Class cancelled. |
| Tuesday, Dec 11 | Last class. Garbage Collection |