Tentative Schedule

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