15-312 Foundations of Programming Languages

Calendar

Date Topic PFPL Chapters Homework
Jan 14 Introduction: What is a programming language? 1-3 Assignment 0 Out
Jan 15 Rule Induction (handout)
Jan 16 Rule induction, Binding, Substitution 4-5
Jan 21 Dynamics, Statics, and Safety 4-7 Assignment 0 Due,
Assignment 1 Out
Jan 22 Abstract Syntax and De Bruijn Indices (handout)
Jan 23 Functions (Guest Speaker: Frank Pfenning) 8 Solution 0 Out
Jan 28 Gödel's T and PCF (notes) 10
Jan 29 Substitution Lemma (handout)
Jan 30 Definability and undefinability 9
Feb 4 Products and Sums 11-12 Assignment 1 Due,
Assignment 2 Out
Feb 5 Products, Sums, and Pattern Matching (handout)
Feb 6 Recursive Types 16 Solution 1 Out
Feb 11 Objects and Dynamic Dispatch 25
Feb 12 Proof Techniques (handout)
Feb 13 Dynamic Languages 18
Feb 18 Dynamic Languages as Typed Languages 19 Assignment 2 Due,
Assignment 3 Out
Feb 19 Dynamic and Hybrid Typing (handout)
Feb 20 Church's λ-Calculus 17
Feb 25 Modernized Algol 36
Feb 26 Dynamic Typing and Refinements (handout)
Feb 27 Scoped Assignables 36
Mar 4 Assignable References 37 Assigment 3 Due
Mar 5
Mar 6 Midterm Exam Solutions
Spring break woooooo…
Mar 18 System F and Polymorphism 20
Mar 19 Polymorphism (handout)
Mar 20 Representation Independence (notes) 21
Mar 25 Evaluation Dynamics 7 Assignment 4 Out
Mar 26 Cost Dynamics and Parallelism (handout)
Mar 27 Nested Data Parallelism (notes) 40
Apr 1 Control Stacks (notes) 28
Apr 2 Stacks (handout)
Apr 3 Brent's Theorem (notes) 40
Apr 8 Free Assignables, Monads 37 Assignment 4 Due,
Assignment 5 Out
Apr 9
Apr 10 (Carnival: no class)
Apr 15 Futures and Speculations (notes) 41
Apr 16 Call by Need (handout)
Apr 17 Communication in the π-calculus 42
Apr 22 Concurent Algol 43 Assignment 5 Due,
Asignment 6 Out
Apr 23 Concurent Algol (handout)
Apr 24 Proofs as Programs 31
Apr 29 Judgments as Types
Apr 30
May 1 Dependently Typed Programming Assignment 6 Due
Final exams noooooo…
May 6 15-312 Final exam: May 6, 1pm-4pm (BH 136A)
Summer vacation ahhhhhh…
Valid CSS! Valid XHTML 1.0 Strict