Programming with
Data Structures and Algorithms

We use as our texts the in-development version of How to Design Programs, Second Edition (HtDP/2e), and the September 26, 2003 version of How to Design Programs (HtDP), both by Felleisen, Findler, Flatt, and Krishnamurthi.

Wednesday, 16 Sep
HtDP/2e up to (but not including) Section 3.3.3.
Monday, 21 Sep
HtDP/2e Section 3.3.3 until the end (through chapter 7.)
Monday, 28 Sep
HtDP Part II (Sections 9 through 13, inclusive.) Section 19.2 on data definition polymorphism is also of interest.
Monday, 28 Sep
HtDP Part V
Friday, 2 Oct
HtDP Section 14 More Self-referential Data Definitions
Friday, 2 Oct
HtDP Section 15 Mutually Referential Data Definitions
Friday, 2 Oct
HtDP Section 16 Development through Iterative Refinement (included in Filesystem assignment)
Monday, 5 Oct
Analysis Lecture Notes
Wednesday, 7 Oct
Binary Search Tree analysis class notes
Sections 1-3 of MIT's 6.042's Fall 2008 lecture 14 notes (Section 4 is not required, but you can read it if you want.)
Section 0.3 of Algorithms (Dasgupta, Papadimitriou, and Vazirani)
Friday, 9 Oct
AVL trees (Wikipedia, as of 6 Oct 2009)
Friday, 23 Oct
Amortized Analysis Explained (by Rebecca Fiebrink)
Friday, 23 Oct
HtDP Part IV, including Section 24 on lambda.
Wednesday, Nov 4
Dasgupta, Papadimitriou, Vazirani, Sections 3.1, 3.2, and 3.3
Friday, Nov 6
HtDP Part VI
HtDP Part VIII, specifically Section 42
Monday, Nov 9
HtDP Section 13 on quote syntax.
PLT docs on quasiquote syntax.
Monday, Nov 16
Section 5.1.4 of Algorithms (Dasgupta, Papadimitriou, and Vazirani)

Please note that readings are important to the course. As our professor wrote,

Please understand an important detail about course pacing. I will slow down, repeat, and even figure out entirely new presentations, for material that you do not understand despite trying. I will NOT slow down for or repeat material that you didn't understand because you didn't do assigned reading. You will have classmates who did eagerly devour all the assigned reading, and I will reward them by matching their pace. This means you'll just get left behind. Therefore, please take these readings seriously — because I certainly do!