15-312 Foundations of Programming Languages

Calendar

This schedule is subject to change throughout the semester. Although supplemental notes may be provided for some lectures, you are expected to attend and take notes.
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)
Valid CSS! Valid XHTML 1.0 Strict