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!