|
15-312 Foundations of Programming Languages
|
Date | Lecture or Recitation | Reading | Assignment Traffic | ||||
---|---|---|---|---|---|---|---|
|
|||||||
Tue | Jan | 11 | Inductive Definitions | Part I, Ch. 1; Part II, Ch. 3-4; lecture notes, and more notes | |||
Wed | Jan | 12 | Abstract Syntax | Part II, Ch. 4-5; lecture notes | |||
Thu | Jan | 13 | Binding and Scope | Part II, Ch. 4-5; lecture notes (thru page L4.3) | |||
|
|||||||
Tue | Jan | 18 | Overview | ||||
Wed | Jan | 19 | de Bruijn Notation | ||||
Thu | Jan | 20 | Static and Dynamic Semantics | Part II, Ch. 5.3-5.4, 6-7 | Assignment 1 Out | ||
|
|||||||
Tue | Jan | 25 | A Functional Language | Part III, Ch. 8 | |||
Wed | Jan | 26 | Inductive Proofs | ||||
Thu | Jan | 27 | Type Safety | Part III, Ch. 9.1-9.2 | Assignment 1 Due Assignment 2 Out |
||
|
|||||||
Tue | Feb | 1 | Aggregate Data Structures | Part III, Ch. 9.3 | |||
Wed | Feb | 2 | Type Safety Review | ||||
Thu | Feb | 3 | An Abstract Machine | Part V, Ch. 11.1 | |||
|
|||||||
Tue | Feb | 8 | Exceptions | Part V, Ch. 13 | |||
Wed | Feb | 9 | Assignments 1 and 2 | ||||
Thu | Feb | 10 | Continuations | Part V, Ch. 12 | Assignment 2 Due
Assignment 3 Out |
||
|
|||||||
Tue | Feb | 15 | Parametric Polymorphism | Part VIII, Ch. 20 | |||
Wed | Feb | 16 | TBA | ||||
Thu | Feb | 17 | Data Abstraction | Part VIII, Ch. 21 | Assignment 3 Due
Assignment 4 Out |
||
|
|||||||
Tue | Feb | 22 | Recursive Types/Review | Part VIII, Ch. 19.3 | |||
Wed | Feb | 23 | HW3 and Midterm Review | ||||
Thu | Feb | 24 | Midterm Exam (tentative)
(in class) |
||||
|
|||||||
Tue | Mar | 1 | Mutable Storage | Part VI, Ch. 14 | |||
Wed | Mar | 2 | Midterm post-mortem | ||||
Thu | Mar | 3 | Monads | Assignment 4 Due | |||
|
|||||||
Tue | Mar | 8 | *** No Class (Spring Break) *** | ||||
Wed | Mar | 9 | *** No Class (Spring Break) *** | ||||
Thu | Mar | 10 | *** No Class (Spring Break) *** | ||||
|
|||||||
Tue | Mar | 15 | TBA | Assignment 5 Out | |||
Wed | Mar | 16 | Mutable Storage | ||||
Thu | Mar | 17 | Subtyping | Pierce, Ch. 15 | |||
|
|||||||
Tue | Mar | 22 | Records | Pierce, Chs. 11.8, 15 | |||
Wed | Mar | 23 | Bidirectional Typechecking | ||||
Thu | Mar | 24 | Objects | Pierce, Ch. 18 | Assignment 5 Due | ||
|
|||||||
Tue | Mar | 29 | Dynamic Typing | Part X, Ch. 24 | Assignment 6 Out | ||
Wed | Mar | 30 | Coercion Elaboration | ||||
Thu | Mar | 31 | Futures | ||||
|
|||||||
Tue | Apr | 5 | Concurrent ML | ||||
Wed | Apr | 6 | Open Recursion in OOP | ||||
Thu | Apr | 7 | First-Class Synchronization | Assignment 6 Due
Assignment 7 Out |
|||
|
|||||||
Tue | Apr | 12 | TBA | ||||
Wed | Apr | 13 | Concurrent ML | ||||
Thu | Apr | 14 | *** No Classes (Carnival) *** | Assignment 7 Due
(but turn in 4/19) Assignment 8 Out |
|||
|
|||||||
Tue | Apr | 19 | Environments | ||||
Wed | Apr | 20 | The Pi-Calculus | ||||
Thu | Apr | 21 | Storage Management | Part XIV, Ch. 31 | |||
|
|||||||
Tue | Apr | 26 | The Curry-Howard Isomorphism | ||||
Wed | Apr | 27 | Linear Logic and Linear Types | ||||
Thu | Apr | 28 | The Curry-Howard Isomorphism | ||||
Fri | Apr | 29 | Assignment 8 Due | ||||
|
|||||||
TBA | Assignment 8 Presentations | ||||||
|
|||||||
TBA | Final Exam |
[ Home | Schedule | Assignments | Software | Resources ]