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 |