| Date | Topic | Readings/Notes | Homework | |
| W | Jan 4 | Intro to PL, intro to Racket | Lab 1 | |
| F | 6 | Ripping through HtDP: design recipe, lists. Define-type | PLAI 1, HtDP 2e 1-2.2, Lab 2 | |
| M | 9 | Mixed data, arithmetic evaluation | Lab 3 | |
| W | 11 | QUIZ, A few little languages, Parsing | PLAI Ch. 2, Lab 4 | |
| F | 13 | Variables, Substitution | PLAI Ch. 3, Lab 5 | Assignment 1 due |
| T | 17 | Functions, Function calls | PLAI Ch. 4 | |
| W | 18 | Environments | PLAI Ch. 5Lab 6 | |
| F | 20 | First-class functions | PLAI Ch. 6Lab 7 | |
| M | 23 | Subst with first-class functions | PLAI Ch. 7, Lab 8 | Assignment 2 due |
| W | 25 | QUIZ, no class otherwise | ||
| F | 27 | NO CLASS | ||
| M | 30 | Closures | PLAI Ch. 8 | Assignment 3 due |
| W | Feb 1 | Implementing Laziness | PLAI Ch. 9 | PLAI Ch. 9, Lab 9 |
| F | 3 | Caching values for call-by-need | ||
| M | 6 | Recursion, implementing Recursion | PLAI Ch. 10, Lab 10 | Assignment 4 due |
| W | 8 | Midterm | ||
| F | 10 | Structures | PLAI Ch. 11Lab 11 | |
| M | 13 | Recursion | PLAI Ch. 12 | |
| W | 15 | store-passing style | Lab 12 | |
| F | 17 | Monadic style | Assignment 5 due | |
| M | 20 | NO CLASS | ||
| W | 22 | Monadic Style II | Lab 13 | |
| F | 24 | let/cc | ||
| M | 27 | let/cc II | Assignment 6 due | |
| W | 29 | implementing let/cc | Lab 14 | |
| F | Mar 2 | defunctionalization and registerization | ||
| M | 5 | Formalization of CPS | ||
| W | 7 | Types | ||
| F | 9 | Types II | Lab 15 | Assignment 7 due |