Programming Languages and Logics
MWF 9:05-9:55
Hollister 306
Key: P = Pierce, W = Winskel
| Date | Topic | Notes | Reading | Assignments |
| 22 August | Course Overview | slides | ||
| 24 August | Introduction to Semantics | slides notes | W1-2 | |
| 27 August | Inductive definitions and proofs | slides notes | W3 | HW1 out |
| 29 August | Large-step semantics | slides notes | W2,P3 | |
| 31 August | Interpreters in OCaml | code | ||
| 3 September | No class (Labor Day) | |||
| 5 September | IMP (Lecturer: Arjun Guha) | notes | HW 2 out | |
| 7 September | IMP Properties (Lecturer: Arjun Guha) | notes | ||
| 10 September | Denotational semantics | slides notes | W5 | HW3 out |
| 12 September | Examples using denotational semantics | |||
| 14 September | Axiomatic semantics | slides notes | W6 | |
| 17 September | Hoare logic | slides notes | HW4 out | |
| 19 September | Weakest Preconditions | slides notes | W7 | |
| 21 September | λ-calculus | notes | P5 | |
| 23 September | Substitution and DeBruijn notation | notes | P6 | HW5 out |
| 25 September | λ-calculus encodings | notes | P5 | |
| 24 September | Recursion and definitional translation | notes | P5 | |
| 1 October | Preliminary Exam I | |||
| 3 October | Adequacy and Continuations | notes | ||
| 5 October | Compiling with continuations | notes | ||
| 8 October | No class (Fall Break) | |||
| 10 October | Type Systems | notes | P8,9 | HW6 out |
| 12 October | Normalization | notes | P12 | |
| 15 October | More types | notes | P11,13 | HW7 out |
| 17 October | Async (Lecturer: Yaron Minsky) | |||
| 19 October | Polymorphism | notes | P23 | |
| 22 October | Programming in System F | notes | P23 | HW8 out |
| 24 October | Records and Subtyping | notes | P11,15 | |
| 26 October | Type Inference | notes | P22 | |
| 29 October | Existential types | notes | P24 | HW 9 out |
| 31 October | Recursive Types | notes | P20 | |
| 1 November | Propositions as Types (Lecturer: Ross Tate) | notes | ||
| 5 November | Essence of JavaScript (Lecturer: Arjun Guha) | |||
| 7 November | Language-based Security (Lecturer: Andrew Myers) | |||
| 9 November | Featherweight Java | notes | ||
| 12 November | Featherweight Java Properties | notes | ||
| 14 November | Preliminary Exam II | |||
| 16 November | CSP | notes | ||
| 19 November | More CSP | |||
| 21 November | Domain-specific languages | slides | HW 11 out | |
| 23 November | No class (Thanksgiving) | |||
| 26 November | Typed Assembly Language | slides | ||
| 28 November | Typed Assembly Language II | slides | ||
| 29 November | Typed Assembly Language III | slides | ||
| 12 December | Final Exam | |||