| Date | Topic | Associated Reading | In-class Code | 
|---|---|---|---|
| Jan 11 | Introduction | ||
| Jan 13 | Introduction to Scheme | Sections 1 and 2.1 through 2.2.5 of PLTSG | 1-13.scm | 
| Jan 18 | Scheme Lists | Sections 2.2.6 through 2.2.8 and 2.3 of PLTSG | 1-18.scm | 
| Jan 20 | Scheme Pairs | Sections 2.4 and and 3.6 of PLTSG | 1-20.scm | 
| Jan 25 | Recursively Specified Data | Sections 1.1 through 1.2.3 of EOPL | 1-25.scm | 
| Jan 27 | Deriving Recursive Programs | Sections 1.2.4 through 1.3 of EOPL | 1-27.scm | 
| Feb 1 | Representing Data | Sections 2.1 through 2.2.3 of EOPL | 2-1-1.scm 2-1-2.scm 2-1-3.scm | 
| Feb 3 | Recursive Data Types | Sections 2.3 through 2.5 of EOPL | 2-3.scm | 
| Feb 8 | LET Language | Sections 3.1 and 3.2 of EOPL | 2-8-1.scm 2-8-2.scm | 
| Feb 10 | PROC Language | Sections 3.3 and 3.4 of EOPL | 2-10-1.scm 2-10-2.scm | 
| Feb 17 | Procedures with Multiple Parameters | ||
| Feb 22 | Parsing | Appendix B | 2-22.tgz | 
| Feb 24 | Cond and Unpack Expressions | 2-24.tgz | |
| Mar 8 | Lexical Addressing | Sections 3.5 through 3.7 of EOPL | 3-8.tgz | 
| Mar 10 | Explicit References | Sections 4.1 and 4.2 of EOPL | 3-10.tgz | 
| Mar 15 | Implicit References and Arrays | Section 4.3 and 4.4 of EOPL | 3-15-1.tgz 3-15-2.tgz | 
| Mar 17 | Call-By-Reference | Section 4.5.1 of EOPL | 3-17.tgz | 
| Mar 24 | Call-By-Need | Section 4.5.2 of EOPL | 3-24-1.tgz 3-24-2.tgz 3-24-3.tgz | 
| Mar 29 | Type Checking | Section 7.1 through 7.3 of EOPL | 3-29.tgz | 
| Mar 31 | Unification | Section 7.4.0 of EOPL | |
| Apr 5 | Type Inferrence | Section 7.4.1 through 7.4.3 of EOPL | 4-5.tgz | 
| Apr 7 | Type Inferrence of Explicit References | Section 7.4.1 through 7.4.3 of EOPL | 4-7.tgz | 
| Apr 12 | Classes | Section 9.1 through 9.4 of EOPL | 4-12.tgz |