# Month Date Day Topic Homework Assigned Optional Texts Optional Notes
1 Sept. 8 Wed Racket & Recursion Homework 1 Chs 1 & 2, SAOP Ch 4, SAOP  
2 Sept. 13 Mon letrec, quasiquote & match   Ch 5.1-5.2, SAOP  
3 Sept. 15 Wed free and bound variables, lexical address Homework 2   Wand’s notes (Sections 4.1-4.2)
4 Sept. 20 Mon Intro. to Interpreters   Chs 2 & 3, EOPL  
5 Sept. 22 Wed Rep. Independence wrt Environments, Closures Homework 3   in-class RI Notes RI Interpreter
6 Sept. 27 Mon ≡α/β/η, reductions, universality of λ-calc     TAPL 5.2
7 Sept. 29 Wed Dynamic and Lexical Scope Homework 4   Wand’s notes (Revisit section 4.1)
8 Oct. 4 Mon Higher-Order Abstraction & Primitive Recursion   Ch 7, SAOP ack.rkt , ack-etc.rkt
9 Oct. 6 Wed Parameter-Passing Style Homework 5 Ch 4.5, EOPL call-by notes in-class REPL in-class notes
  Oct. 11 Mon NC      
10 Oct. 13 Wed Exam Review      
  Oct. 18 Mon Exam 1      
11 Oct. 20 Wed Intro to continations and CPS Homework 6 Chs 16 & 17, SAOP, Ch 6.1-6.3 EOPL, 4.2 cps notes , cps lecture
12 Oct. 25 Mon CPS/CPS interpreters   Ch 5.1, EOPL  
13 Oct. 27 Wed Rep. independence wrt continuations Homework 7   ri-k, how to ri k
14 Nov. 1 Mon Registerization   Ch 5.3, EOPL registerization notes
15 Nov. 3 Wed Trampolining Homework 8 Ch 5.2, EOPL reg and tramp
16 Nov. 8 Mon ParentheC Homework 9   ParentheC pc2c.rkt parenthec.rkt xform code
17 Nov. 10 Wed Macros Bonus Ch 14, SAOP Syntax-rules for the Merely Eccentric class-macros
18 Nov. 15 Mon Exam Review      
  Nov. 17 Wed Exam 2      
19 Nov. 22 Mon OOP Homework 10 Ch 12, SAOP  
  Nov. 24 Wed NC      
20 Nov. 29 Mon Types     Type rules explained
21 Dec. 1 Wed Type Inference Homework 11    
22 Dec. 6 Mon CL, shunting-yard alg, CL bases, iota & jot     Systematic construction of a one-point basis Iota and Jot
23 Dec. 8 Wed Closing Lecture      

Texts

EOPL “Essentials of Programming Languages”
SAOP “Scheme and the Art of Programming”