15-312 Principles of Programming Languages


Calendar

Schedule of Lectures

Week/Date Topic PFPL Chapters Homework
1 Jan 17 Inductive Definitions; Abstract and Concrete Syntax 1-3
Jan 18 Rule Induction; Structural Induction Homework 0 Out
Jan 19 Binding & Scope; Statics and Dynamics 4-5
2 Jan 24 Type Safety: Preservation and Progress 6
Jan 25 Proving Safety Homework 0 Due Homework 1 Out
Jan 26 Higher-Order Total Computation: Gödel's T 8-9
3 Jan 31 Finite data structures: products. 10
Feb 1 Higher-order programming; products and sums
Feb 2 Finite data structures: sums. 11
4 Feb 7 Generic programming 14
Feb 8 Type operators; inductive types Homework 1 Due Homework 2 Out
Feb 9 Generic prog. / Ind. and coind. types 15
5 Feb 14 Inductive and coinductive types 16
Feb 15 Polymorphic programming; parametricity
Feb 16 Polymorphism 17
6 Feb 21 Abstract types 19
Feb 22 Fixed points and self-reference Homework 2 Due Homework 3 Out
Feb 23 Higher-order partial computation: PCF 20
7 Feb 28 Recursive types: FPC 20
Mar 1 Self-reference and universality
Mar 2 Dynamic Languages: DPCF 22
8 Mar 7 Dynamic dispatch
Mar 8 Midterm Review 23 Homework 3 Due (extended to Mar 11)
Mar 9 Midterm examination (in-class & open-book)
9 Mar 14 (Spring break)
Mar 15 (Spring break)
Mar 16 (Spring break) 28-29
10 Mar 21 Parallelism: Work and Span 6;37
Mar 22 Dynamic typing Homework 4 Out
Mar 23 Parallelism: Brent's Theorem 37
11 Mar 28 Exceptions
Mar 29 Brent's Theorem
Mar 30 Continuations 30
12 Apr 4 Imperative programming: MA 34
Apr 5 Modernized Algol: commands and expressions Homework 4 Due Homework 5 Out
Apr 6 Capabilities and references; benign effects 35
13 Apr 11 Lazy evaluation and memoization 36
Apr 12 Lazy vs Eager
Apr 13 Lazy evaluation and memoization 36
14 Apr 18 Dynamic classification 36
Apr 19 Dynamic classification 40 Homework 6 Out
Apr 20 (No class) Homework 5 Due
15 Apr 25 Concurrent programming: CA 40
Apr 26 Concurrent interaction
Apr 27 Concurrent programming: CA 40
16 May 2 Distributed programming: DA 41
May 3 Recap
May 4 TBA 44 Homework 6 Due

Robert Harper
Last modified: Mon Dec 12 11:54:59 EST 2016

Valid XHTML 1.0!