Fall 2017 Schedule

The table below is your guide to the entire semester. Each row corresponds to a week of the semester, and the week numbers in the first column are clickable links that connect this page to the lecture notes and other course materials for that week. The last column lists the sections in How to Design Programs, Second Edition that cover the lecture material. The Mon/Wed columns list the lecture dates, and the Thu column lists the lab dates, for each week of the semester. The two midterm exam dates are highlighted, as are holidays and October Break.

Course Outline Lectures Labs How to Design Programs
Week Topics of the Week Mon Wed Thu Readings
-1- How to program 8/28 8/30 8/31 Prologue
-2- Labor Day (Mon)
How to design
9/4 9/6 9/7 I, Design of Programs
-3- Design with fixed-size data 9/11 9/13 9/14 I, Structural Design (1)
-4- Design with arbitrarily large data (1)
Rosh Hashana (Thu)
9/18 9/20 9/21 II, Structural Design (2)
-5- Design with arbitrarily large data (2)
Midterm 1 (Thu)
9/25 9/27 9/28 II, Complete Programs
-6- Designing Abstractions 10/2 10/4 10/5 III, Design of Abstractions
October Break
-7- Using Abstractions 10/16 10/18 10/19 III, Using Abstractions, maps
-8- Design with arbitrarily large data (3) 10/23 10/25 10/26 IV, S-expressions, Structural Design (3)
-9- Iterative Refinement 10/30 11/1 11/2 IV, S-expressions
-10- Generative Recursion 11/6 11/8 11/9 V, Generative Design
-11- More generative recursion
Midterm 2 (Thu)
11/13 11/15 11/16 V, Graph Traversal
-12- Nameless Functions
Thanksgiving (Thu)
11/20 11/22 11/23 Nameless Functions, Lexical Scope
-13- Recursion with Accumulators 11/27 11/29 11/30 VI, Design w/ Accumulators
-14- More structural design 12/4 12/5 Structural Design (4), DB
Review Session Thu, Dec 7, 9-10am, SP 309
Final Exam Wed, Dec 13, 5-7pm, SP 105
(Room Change!)