| The table specifies the topics we will cover in each week. Make sure to read the relevant sections of the text
for a given week. Read as much as possible before you
come to class and lab. The week starts with the Monday lecture and ends with the Friday lab. Week | Topic of the Week: Lectures, Reading | Dates |
---|
| Prerequisites - Program Design: Preface, sec. 1
- Information and Data: sec. 2
- Functions and Variables: sec. 3
|
| 1/8, 10 11 | | Atomic and Compound Data - Conditionals; Symbols: sec. 4, 5
- Compound Data: Part 1 Structures: sec. 6
|
| 1/17, 18 | | Unions - The Varieties of Data: sec. 7
- Syntax and Semantics: sec. I1
- Compound Data: Part 2 Lists: sec. 9, 10.1
|
| 1/22, 24, 25 | | Self-Referential Unions (1) - Processing Lists: sec. 9
- Lists that Contain Structures: sec. 10
- Composing Functions: sec. 12
|
| 1/29, 31, 2/1 | | Self-Referential Unions (2) - More Self-Referential Data Definitions: sec. 14
- Lists thet Contain Structures: sec. 15
- Iterative Refinement: sec. 16
|
| 2/5, 7, 8 | | Local, Multiplexing: sec. I2, I3 - List Abbreviations: sec I2
- Local Definitions and Lexical Scope: sec. I3
- Local Definitions: sec. I3
|
| 2/12, 14, 15 | | Recursion in All Forms - Processing Complex Pieces of Data: sec. 16, 17
- Equality of complex data: 17, 18
|
| 2/21, 22 | | Abstraction - Similarities in Definitions: sec. 19
- Functions are Values: sec. 20
- Designing Abstractions from Examples: sec. 21
|
| 2/26, 28, 3/1 | | Abstraction - Evaluating Scheme: sec. 14, 17
- Designing Functions on the Fly: sec. 21, I4
- Designing Abstractions from Examples; Designing Abstractions with First-Class Functions: sec. 21, 22
|
| 3/12, 14, 15 | | Abstraction; Generative Recursion - Mathematical Examples: sec. 23
- Generative recursion: sec. 27
- Traversing Graphs: sec. 28.1
|
| 3/19, 21, 22 | | More Generative Recursion - Algorithms that Backtrack: sec. 28.2
- The Cost of Computing: sec. I5
- A First Look at Vectors: sec. I5
|
| 3/26, 28, 29 | | Accumulators - The Loss of Knowledge: sec. 30
- Designing Accumulator-Style Functions: sec. 31
- More Uses of Accumulation: sec. 32
|
| 4/2, 4, 5 | | Putting It Together - Iterative Refinement: sec. 2.5, 3.1, 7.3, 12, 16, HtDP+
- Program Refactoring
- Program Design
- Epilogue
|
| 4/9, 11, 12, 18 |
|