Programming Languages and Logics

MWF 9:05-9:55

Gates G01

Key: P = Pierce, W = Winskel

Date |
Topic |
Notes |
Reading |
Assignments |

27 August | Course Overview | slides | ||

29 August | Introduction to Semantics | slides notes | W 1-2 | |

1 September | No class (Labor Day) | |||

3 September | Inductive definitions | slides notes | W 3 | HW1 out |

5 September | Inductive proof and Large-step Semantics | slides notes | W 2, P 3 | |

8 September | IMP | slides notes code | W 2 | |

10 September | IMP Properties | slides notes | HW1 due; HW2 out | |

12 September | Denotational Semantics | slides notes | W 5 | |

15 September | Denotational Semantics Examples | notes | ||

17 September | Axiomatic Semantics | slides notes | W6 | HW2 due; HW3 out |

19 September | Hoare Logic | slides notes | ||

22 September | Hoare Logic Examples | slides | ||

24 September | Weakest Preconditions | slides notes | W7 | HW3 due; HW4 out |

26 September | Lambda-calculus | notes | P5 | |

29 September | More Lambda-calculus and Substitution | slides notes | P5 | |

1 October | No class (CS 50th / Gates Dedication) | |||

3 October | Lambda-calculus Encodings | slides notes | ||

6 October | Preliminary Exam I | |||

8 October | Exam Debrief | |||

10 October | Programming in the Lambda-calculus | slides notes | ||

13 October | No class (Fall break) | |||

15 October | Definitional Translation and Continuations | slides notes | HW5 out | |

17 October | Simple Types | notes | ||

20 October | Proving Type Soundness | notes | ||

22 October | Normalization | slides notes | HW5 due; HW6 out | |

24 October | Advanced Types | slides notes | ||

27 October | Polymorphism | slides notes | ||

29 October | Type Inference | slides notes | HW 6 due; HW7 out | |

31 October | Compiling with Continuations | slides notes | ||

3 November | Records and Subtyping | slides notes | ||

5 November | Existential Types | slides notes | HW7 due; HW 8 out | |

7 November | Recursive Types | slides notes | ||

10 November | Propositions as Types | slides notes | ||

12 November | Featherweight Java | slides notes | HW 8 due | |

14 November | Preliminary Exam II | |||

17 November | Featherweight Java Properties | slides notes | ||

19 November | Exam Debrief | HW 9 out | ||

21 November | Typed Assembly Language I | slides | ||

24 November | Typed Assembly Language II | slides | ||

26 November | No class (Thanksgiving) | |||

28 November | No class (Thanksgiving) | |||

1 December | Typed Assembly Language III | slides | HW 10 out | |

3 December | Concurrency | slides | ||

5 December | Victory Lap | slides |