Schedule

when/where/what

The following schedule is approximate and subject to change. Please listen for announcements in class; also see Blog.

Date

Topic

Readings

Problem Set

01/12 T

Welcome; Syntax; Reduction Semantics

I.1

PS1 Basic Programming

01/15 F

Redex

II.A, II.11, II.12

01/19 T

no class

01/22 F

no class

PS1 due; PS2 Redex Programming

01/26 T

More Redex

Quote, Unquote

01/29 F

Reduction Semantics, Theorems

I.2

02/02 T

Evaluation Contexts, Reduction

PS2 due; PS3 Redex Modeling

02/05 F

The Lambda Calculus

I.3

02/09 T

ISWIM

I.4

02/12 F

Induction

PS3 due; PS4 Reduction Relations

02/16 T

Reduction, Errors

02/19 F

Types

I.10

PS4 due; PS5 Types

02/23 T

More Types, Type Safety

Pierce 8

02/26 F

Progress and Preservation

Pierce 9

PS5.1 due

03/01 T

Products, Sums, and more

Pierce 11

PS5.2 due

03/04 F

Recursion, Lists, and more

PS5.3 due; PS6 Typing

03/15 T

State and Memory

I.9

03/18 F

no class: PhD open house

PS6 due; PS7 OO

03/22 T

Type Checking Mutable Memory

Pierce 13

03/25 F

Abstract Machines

I.7

03/29 T

no class

PS 7 due

04/01 F

no class

04/05 T

More Abstract Machines

04/08 F

Control: Errors

I.8

04/12 T

Control: Exceptions

I.8, Pierce 14

Project report due

04/15 F

Chen & Horn, Feng & Hou

Chosen Projects

04/19 T

Fluckiger & Sackett, Abdul Rehman & Li

Chosen Projects

04/22 F

Basu & Surana, Xu & Wang, Yongsatianchot

Chosen Projects

There will be no class on the dates in red.

See the table of contents in the textbook for refinement of topics.