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