This schedule is subject to change! We may go faster or slower, and the order may change in order to allow more interesting projects to happen sooner.
Read the material before class. In class I will not discuss all the material in the text. I will only focus on elements that are subtle or often confusing. So you need to read ahead in order to know
I encourage questions on anything in the book or relevant to the course.
Note: Some topics introduced in SICP very early are treated very late in HTDP (and vice versa), so expect some material in HTDP to refer to examples and content in chapters you haven't seen yet.
|Week Start Date||Topic||Readings|
|January 4 - 8||Basics||1.1, 1.2||HTDP/2e Prologue:
Note: HTDP sometimes uses square brackets instead of parentheses. I recommend using just parentheses for compatibility with older Schemes and Common Lisp.
|January 11 - 15||Procedural Abstraction||HTDP/2e 2.2, HTDP/2e 2.3|
|January 19 - 22||Structures||HTDP/2e 2.5|
|Monday, January 18 -- no class in observance of Martin Luther King Day|
|January 25 - 29||Lists||2.2 through 2.2.3
Note: until you move to full Scheme mode (don't do it yet), you must use empty instead of nil and you can't do things like (cons 1 2) as shown in 2.1 through 2.1.3.
|HTDP/2e 4.1, HTDP 9.1|
|February 1 - 5||Sequences||2.2.3|
|Quiz: Wednesday, February 3|
|February 8 - 12||Higher-order Functions||1.3||HTDP 19, HTDP 21, HTDP 22, HTDP 24|
|February 15 - 19||Local State||3.1, 3.2||35, 40.3|
|Friday, February 19: project animation demos sent to TA; must have author contact info and instructions in comments|
|February 22 - 26||Symbolic Processing and Data Representations||2.3, 2.4||5|
|Friday, February 26: project with game logic sent to TA|
|March 1 - 5||Mutable Data||3.3 through 3.3.3|
|Friday, March 5: project with scoring logic sent to TA|
|March 8 - 12||Vectors; Game demos||29.3|
|Final Project Code due to TA: Monday, March 15, noon|
|Final: Tuesday, March 16, 9am -- 11 am|