Syllabus
The topics are linked to detailed weekly lecture plans below. The readings point into the on-line version of the text book.
You are primarily responsible for the readings. The lectures will help you understand those and will occasionally add highly pragmatic tips. But, the weekly problem sets and the exams will cover the reading material.
A semester tends to unfold in unpredictable ways, meaning the syllabus is subject to change. The most likely change concerns the last two weeks, which cover material that varies from semester to semester.
Details
Assignments are due at 9:00 pm on the day they are listed (either Monday or Thursday).
See the late policy about late submissions.
| ||||
05/06 |
| Why CS; Arithmetic of numbers, strings; Administrivia | ||
05/07 |
| Arithmetic of images, functions, simple animations, Lab 0 | ||
05/08 |
| Arithmetic of booleans, Conditionals, Intervals | ||
05/09 |
| Enumerations, Structures, Lab 1 | ||
| ||||
| ||||
05/13 |
| Posns, structure type definitions, Steps of function design | ||
05/14 |
| Functions on structures, Lab 2 | ||
05/15 |
| Itemizations, functions on itemizations | ||
05/16 |
| Self-referential data definitions, Lab 3 | ||
| ||||
| ||||
05/20 |
| Self-referential unions, Lists | ||
05/21 |
| Lists, Functions on Lists, Lab 4 | ||
05/22 |
| Design of a list-based world program, 1 | ||
05/23 |
| Design of a list-based world program, 2; Similarities in functions, Lab 5 | ||
| ||||
| ||||
Midterm coming up: 05/30 @ in class | ||||
05/27 |
| Memorial Day, No class | ||
05/28 |
| Similarities in functions, Lab 6 | ||
05/29 |
| Abstractions over similar functions | ||
05/30 |
| Exam 1, no lab | ||
| ||||
| ||||
06/03 |
| Abstracting over DDs, Existing abstractions | ||
06/04 |
| Lambda and Scope, Lab 7 | ||
06/05 |
| Sets, Mutual Recursion, S-expressions | ||
06/06 |
| Trees and Forests, Lab 8 | ||
| ||||
| ||||
Midterm coming up: 06/13 @ in class | ||||
06/10 |
| Graphs | ||
06/11 |
| Generative Recursion, Lab 8 | ||
06/12 |
| Generative Recursion | ||
06/13 |
| Exam 2, no lab | ||
| ||||
| ||||
06/17 |
| Accumulators | ||
06/18 |
| Accumulators, Lab 9 | ||
06/19 |
| Juneteenth, no class | ||
06/20 |
| Wrap-up, No Lab | ||
|