| Date | Topic | Reading | Assignment | |
|---|---|---|---|---|
| 1/25 | Course overview. Introduction to Scheme. | 1.1 | ||
| 1/27 | More Scheme intro. The substitution model. | 1.1 | 1 out | |
| 2/1 | Orders of Growth. Recursion and Iteration. | 1.2 | ||
| 2/3 | Higher-order procedures. | 1.3 | 1 due, 2 out | |
| 2/8 | Compound data. Data abstraction | 2.1 | ||
| 2/10 | Aggregate data: lists. code | 2.2 | 2 due, 3 out | |
| 2/15 | Aggregate data: trees. code | 2.2 | ||
| 2/17 | Henderson picture language. | 2.2.4 | 3 due, 4 out | |
| 2/22 | Monday Schedule. No class | |||
| 2/24 | Symbolic data. | 2.3 | ||
| 3/1 | Data structures | 2.4 | 4 due, 5 out | |
| 3/3 | Multiple representations of data. | 2.4 | ||
| 3/8 | Generic operators. | 2.5 | 5 due | |
| 3/10 | Exam 1, includes material from lectures through 3/1 | |||
| Spring Break 3/12 - 3/20 | ||||
| 3/22 | State slides | 3.1 | ||
| 3/24 | Environment model. "cheat sheet" | 3.2 | 6 out | |
| 3/29 | Object-oriented programming. slides | handout | ||
| 3/31 | Mutable data structures. slides | 3.3 | ||
| 4/5 | More mutation. | 3.3 | 6 due, 7 out | |
| 4/7 | Streams | 3.5 | ||
| 4/12 | Streams | 3.5 | 7 due, 8 out | |
| 4/14 | Metacircular Evaluator implementations of let | 4.1 | ||
| 4/19 | Metacircular Evaluator (Analyzing) | 4.1 | 8 due | |
| 4/21 | Exam 2, includes material from lectures through 4/12 | |||
| 4/26 | More on MC evaluator: lazy evaluation: code | 4.2 | ||
| 4/28 | More on MC evaluator: amb evaluation | 4.3 | 9 out | |
| 5/3 | Logic programming slides | 4.4 | ||
| 5/5 | Logic programming slides | 4.4 | 9 due, 10 out | |
| 5/10 | Memory Managment and garbage collection slides | 5.3 | ||
| 5/12 | OPL Jeopardy (exam review) | 10 due | ||