15-312 Foundations of Programming Languages


Calendar

Schedule of Lectures

Week/Date Topic PFPL Chapters Homework
1 Jan 16 Overview; Inductive Definitions; Abstract and Concrete Syntax 1-3
Jan 17 Judgments; Inference; Induction
Supplement on Simultaneous Induction
Homework 0 Out
Jan 18 Binding & Scope; Statics and Dynamics 4-5
2 Jan 23 Type Safety: Preservation and Progress 6
Jan 24 Binding; Semantics; Safety Homework 0 Due; Homework 1 Out
Jan 25 Higher-Order Total Computation: Gödel's T 8-9
3 Jan 30 Expressivity of Gödel's T 8-9
Jan 31 Higher-Order Programming in T
Feb 1 Finite data structures 10-11
4 Feb 6 Generic programming 14
Feb 7 Finite Data Structures; Generic Programming Homework 1 Due; Homework 2 Out
Feb 8 Inductive and coinductive types 15
5 Feb 13 Polymorphism 16
Feb 14 Inductive and Coinductive Types
Feb 15 Existential types 17
6 Feb 20 Data abstraction and bisimulation 17
Feb 21 Polymorphism and Existential Types Homework 2 Due; Homework 3 Out
Feb 22 Higher-order partial computation: PCF 19
7 Feb 27 Recursive types: FPC 20
Feb 28 Recursive types
Mar 1 Dynamic Languages: Lambda Calculus 21
8 Mar 6 Dynamic Languages: DPCF 22
Mar 7 Midterm Review Homework 3 Due
Mar 8 Midterm examination (in-class & open-book)
9 Mar 13 (Spring break)
Mar 14 (Spring break)
Mar 15 (Spring break)
10 Mar 20 Exceptions 29
Mar 21 Control stacks Homework 4 Out
Mar 22 Continuations 30
11 Mar 27 Imperative programming: MA 34
Mar 28 Modernized Algol: commands and expressions
Mar 29 Capabilities and references; benign effects 35
12 Apr 3 Parallelism: Work and Span 6;37
Apr 4 Brent's Theorem Homework 4 Due; Homework 5 Out
Apr 5 Parallelism: Brent's Theorem 37
13 Apr 10 Dynamic dispatch 26
Apr 11 Lazy vs Eager
Apr 12 Lazy evaluation and memoization 36
14 Apr 17 Dynamic classification 36
Apr 18 Dynamic classification Homework 6 Out; Homework 5 Due
Apr 19 (No class)
15 Apr 24 Concurrent programming: CA 40
Apr 25 Concurrent interaction
Apr 26 Concurrent programming: CA 40
16 May 1 TBA
May 2 Recap
May 3 TBA Homework 6 Due

Maintainer: Jan Hoffmann
Author: Robert Harper
Last modified: Mon Dec 12 11:54:59 EST 2016