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 Finite data structures: products. 10
Jan 31 Higher-order programming; products and sums
Feb 1 Finite data structures: sums. 11
4 Feb 6 Generic programming 14
Feb 7 Type operators; inductive types Homework 1 Due; Homework 2 Out
Feb 8 Inductive and coinductive types 15
5 Feb 13 Polymorphism 16
Feb 14 Polymorphic programming; parametricity
Feb 15 Abstract types 17
6 Feb 20 Higher-order partial computation: PCF 19
Feb 21 Fixed points and self-reference Homework 2 Due; Homework 3 Out
Feb 22 Recursive types: FPC 20
7 Feb 27 Dynamic Languages: Lambda Calculus 21
Feb 28 Dynamic typing
Mar 1 Dynamic Languages: DPCF 22
8 Mar 6 Exceptions 29
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 Continuations 30
Mar 21 Control stacks Homework 4 Out
Mar 22 Imperative programming: MA 34
11 Mar 27 Capabilities and references; benign effects 35
Mar 28 Modernized Algol: commands and expressions
Mar 29 Dynamic dispatch 26
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 Lazy evaluation and memoization 36
Apr 11 Lazy vs Eager
Apr 12 Lazy evaluation and memoization 36
14 Apr 17 Dynamic classification 36
Apr 18 Dynamic classification 40 Homework 6 Out
Apr 19 (No class) Homework 5 Due
15 Apr 24 Concurrent programming: CA 40
Apr 25 Concurrent interaction
Apr 26 Concurrent programming: CA 40
16 May 1 Distributed programming: DA 41
May 2 Recap
May 3 TBA 44f Homework 6 Due

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