15-312 Foundations of Programming Languages

Schedule of Lectures

Week/Date Topic PFPL Chapters Homework
1Jan 14Church's λ-Calculus: Binding and Scope; Substitution; ReductionChurch's λ-Calculus
Jan 15Judgments; Inference; Induction Homework 0 Out
Jan 16Levels of Syntax; Judgments and Rules; Rule Induction1-3
2Jan 21Statics and Dynamics: Typing and Execution4-6
Jan 22Binding; Semantics; and SafetyHomework 0 Due; Homework 1 Out
Jan 23Safety: Progress and Preservation4-6
3Jan 28Higher-order Total Programming: Gödel's T8-9
Jan 29Gödel's System T
Jan 30System T; Product Types10-11
4Feb 4Sum Types10-11
Feb 5Products; Sums; IsomorphismHomework 1 Due; Homework 2 Out
Feb 6Generic Programming; Inductive Types15
5Feb 11Coinductive Types; Polymorphism16
Feb 12Inductive and Coinductive Types
Feb 13Polymorphic Encodings; Abstract Types17
6Feb 18Parametricity and Representation Independence17Dynamic Dispatch as an Abstract Type.
Feb 19System FHomework 2 Due; Homework 3 Out
Feb 20Partiality: Plotkin's PCF17
7Feb 25Eager PCF; Computation Types19PCF-By-Value
Feb 26Systems PCF and FPC
Feb 27General Recursive Types: FPC20
8Mar 3Dynamic languages: λ-Calculus Revisited
Mar 4Dynamic and Untyped LanguagesHomework 3 Due
Mar 5Midterm Examination (in-class & open-book)
Mar 10Spring Break (no class)
Mar 11Spring Break (no recitation)
Mar 12Spring Break (no class)
9Mar 17No class (transition to online instruction)
Mar 18Homework 4 Out
Mar 19Dynamic Languages: DPCF22
10Mar 24Exceptions: control and data28-29Exceptions by Value
Mar 25Control Flow and Exception
Mar 26Stacks and Continuations28; 30Stacks Prog'ing with Cont's
11Mar 31Parallelism6; 37
Apr 1Continuations and ParallelismHomework 4 Due; Homework 5 Out
Apr 2Parallelism: Cost Semantics Brent's Theorem37Relating Transition and Cost Dynamics
12Apr 7Modal types and ParallelismTypes and Parallelism
Apr 8Cost; Parallelism; Modal Separation
Apr 9Imperative Programming: Modernized Algol34
13Apr 14Concurrency: Interacting AutomataAutomata and Concurrency
Apr 15Modernized AlgolHomework 5 Due; Homework 6 Out
Apr 16Concurrent Algol40
14Apr 21Dyanmic Classification33
Apr 22Concurrency
Apr 23Resource Aware ML
15Apr 28Substructural Type Systems
Apr 29Review
Apr 30Automatic Amortized Resource AnalysisHomework 6 Due (May 1)


Author: Robert Harper
Last modified: Wed Aug 7 17:18:55 EDT 2019