Date | Topic | PFPL Chapters | Homework |
---|---|---|---|

Jan 13 | Introduction: What is a programming language? | 1-3 | Assignment 0 Out |

Jan 14 | Rule Induction (handout, filled in) | ||

Jan 15 | Rule induction, Binding, Substitution | 4-5 | |

Jan 20 | Dynamics, Statics, and Safety | 4-7 | Assignment 0 Due, Assignment 1 Out |

Jan 21 | Abstract Syntax and De Bruijn Indices | ||

Jan 22 | Functions | 8 | Solution 0 Out |

Jan 27 | Gödel's T(notes) | 10 | |

Jan 28 | Substitution Lemma | ||

Jan 29 | Definability and undefinability | 9 | |

Feb 3 | Products and Sums | 11-12 | Assignment 1 Due, Assignment 2 Out |

Feb 4 | Products, Sums, and Pattern Matching | ||

Feb 5 | PCF / Recursive Types | 16 | Solution 1 Out |

Feb 10 | Objects and Dynamic Dispatch | 25 | |

Feb 11 | Proof Techniques | ||

Feb 12 | Dynamic Languages | 18 | |

Feb 17 | Dynamic Languages as Typed Languages | 19 | Assignment 2 Due |

Feb 18 | Dynamic and Hybrid Typing | Assignment 3 Out | |

Feb 19 | Church's λ-Calculus | 17 | |

Feb 24 | Modernized Algol | 36 | |

Feb 25 | Dynamic Typing and Refinements | ||

Feb 26 | Scoped Assignables | 36 | |

Mar 3 | Assignable References | 37 | |

Mar 4 | Assigment 3 Due | ||

Mar 5 | Midterm Exam |
(Practice, Practice Solutions) | |

Spring break | |||

Mar 17 | Free assignables, | 36 | Assignment 4 Out |

Mar 18 | ML and Modernized Algol | 36.5 | |

Mar 19 | System F and Polymorphism | 20 | |

Mar 24 | Logical Equivalence, Representation Independence | 49 | |

Mar 25 | Free Theorems | ||

Mar 26 | Nested Data Parallelism | 39 | |

Mar 31 | Futures, Control Stacks | 40, 27 | Assignment 4 Due, Assignment 5 Out |

Apr 1 | Cost Semantics | 39.2 | |

Apr 2 | Stacks, Exceptions | 28 | |

Apr 7 | Continuations | 29 | |

Apr 8 | Bounded Implementations of Parallelism, Brent's Theorem | ||

Apr 9 | Process Calculus | 41 | |

Apr 14 | Communication in the π-calculus | 42 | Assignment 5 Due, Asignment 6 Out |

Apr 15 | Scheduling, p-DFS | ||

Apr 16 | (Carnival: no class) | ||

Apr 21 | Concurent Algol | 42, 43 | |

Apr 22 | Concurent ML | ||

Apr 23 | Proofs as Programs | 31 | |

Apr 28 | Judgments as Types | ||

Apr 29 | |||

Apr 30 | Dependently Typed Programming | Assignment 6 Due | |

Final exam period | |||

TBA | 15-312 Final exam |
(Practice, Practice Solutions) |