Schedule
Date |
| Topic |
| Reading |
Aug 27 |
| No class! |
| Preface, through "Skills that Transfer" |
Aug 29 |
| Introduction; course overview |
| |
Aug 31 |
| Arithmetic |
| |
Sep 3 |
| Labor Day, no class | ||
Sep 5 |
| Functions and Programs |
| |
Sep 7 |
| The Recipe |
| |
Sep 10 |
| Designing Worlds | ||
Sep 12 |
| Intervals, Enumerations, Itemizations |
| |
Sep 14 |
| Structures |
| |
Sep 17 |
| Itemizations and Structures |
| |
Sep 19 |
| Lists |
| |
Sep 21 |
| Self-referential Data Definitions |
| |
Sep 24 |
| More Lists |
| |
Sep 26 |
| Design by Composition |
| |
Sep 28 |
| Midterm review | ||
Oct 1 |
| Midterm 1 | ||
Oct 3 |
| Design by Composition |
| |
Oct 5 |
| The Snake Game, Part I |
| |
Oct 8 |
| The Snake Game, Part II |
| |
Oct 10 |
| Highlights |
| |
Oct 12 |
| Designing Abstractions, Part I |
| |
Oct 15 |
| Designing Abstractions, Part II |
| |
Oct 17 |
| Using Abstractions | ||
Oct 19 |
| Though Shall Not Be Named | ||
Oct 22 |
| Trees |
| |
Oct 24 |
| Forests, S-Expressions | ||
Oct 26 |
| Designing with Intertwined Data |
| |
Oct 29 |
| Incremental Refinement |
| |
Oct 31 |
| Simultaneous Processing |
| |
Nov 2 |
| Non-standard Recursion |
| |
Nov 5 |
| Midterm 2 | ||
Nov 7 |
| Midterm Retrospective | ||
Nov 9 |
| No class | ||
Nov 12 |
| Designing Algorithms |
| |
Nov 14 |
| Variations |
| |
Nov 16 |
| Backtracking |
| |
Nov 19 |
| Designing Accumulator-style Functions |
| |
Nov 21 |
| Thanksgiving break, no class | ||
Nov 23 |
| Thanksgiving break, no class | ||
Nov 26 |
| Accumulating More |
| Designing Accumulator-Style Functions and More Uses of Accumulation |
Nov 28 |
| Types, Part I | ||
Nov 30 |
| Types, Part II | ||
Dec 3 |
| Objects, Part I | ||
Dec 5 |
| Objects, Part II | ||
Dec 7 |
| Conclusions and Perspective | ||
Dec 10 |
| Final Review |