Syllabus
Week |
| Topic |
| Readings |
|
| |||
|
| |||
|
| |||
|
| |||
|
| |||
|
| |||
|
| |||
|
| IV, S-expressions, Structural Design (3), Nameless Functions, Lexical Scope | ||
|
| |||
|
| |||
|
| |||
|
| |||
|
| |||
|
| |||
|
|
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. Extra-credit problem sets, if any, will be based on this material.
Details
Assignments are due at 11:59 pm on the day they are listed (either Monday or Thursday).
We will not accept late submissions.
| ||||
01/09 |
| Why CS; Arithmetic of numbers, strings; Administrivia |
| |
01/11 |
| Arithmetic of images, functions, simple animations | ||
01/12 |
| Arithmetic of booleans, conditionals in functions |
| |
01/13 |
|
| partner assignment | |
| ||||
| ||||
01/16 |
| No class | ||
01/18 |
| Intervals & conditionals | ||
01/19 |
| Posns and structure type definitions |
| |
01/20 |
| |||
| ||||
| ||||
01/23 |
| Design recipe |
| |
01/25 |
| The Universe of Data, structures, functions on structures | ||
01/26 |
| Unions |
| |
01/27 |
| |||
| ||||
| ||||
01/30 |
| Self-referential data definition |
| |
02/01 |
| Lists and designing functions on lists (part 1) | ||
02/02 |
| Lists and designing functions on lists (part 2) |
| |
02/03 |
| |||
| ||||
| ||||
Midterm coming up: 02/09 @ 6:00-9:00pm | ||||
02/05 |
| Optional exam review session - WVF 020 - 6-8pm | ||
02/06 |
| Structures in lists, lists in structures |
| |
02/08 |
| Design of a list based world program (part 1) | ||
02/09 |
| Design of a list based world program (part 2) |
| |
02/10 |
| |||
| ||||
| ||||
02/13 |
| Similarities in functions | ||
02/15 |
| Designing abstractions: functions | ||
02/16 |
| Designing abstractions: data definitions, signatures (part 1) |
| |
02/17 |
|
| partner swap | |
| ||||
| ||||
02/20 |
| No class | ||
02/22 |
| Designing abstractions: data definitions, signatures (part 2) | ||
02/23 |
| Existing abstractions and using them |
| |
02/24 |
| |||
| ||||
| ||||
02/27 |
| More on using loops |
| |
03/01 |
| Lambda and scope | ||
03/02 |
| S-expressions and functions over them |
| |
| ||||
| ||||
| ||||
| ||||
03/13 |
| Trees and forests |
| |
03/15 |
| Processing two complex inputs | ||
03/16 |
| Merge sort |
| |
03/17 |
| |||
| ||||
| ||||
03/20 |
| Generative recursion (part 1) |
| |
03/22 |
| Generative recursion (part 2) | ||
03/23 |
| Graphs (part 1) |
| |
03/24 |
|
| partner swap | |
| ||||
| ||||
Midterm coming up: 03/29 @ 6:00-9:00pm | ||||
03/26 |
| Optional exam review session - WVF 020 - 6-8pm | ||
03/27 |
| Graphs (part 2 - traversal) |
| |
03/29 |
| Accumulators | ||
03/30 |
| Speed from accumulators |
| |
03/31 |
| |||
| ||||
| ||||
04/03 |
| BSL Interpreter (part 1) |
| |
04/05 |
| BSL Interpreter (part 2) | ||
04/06 |
| Everything is lambda (part 1) |
| |
04/07 |
| |||
| ||||
| ||||
04/10 |
| Everything is lambda (part 2) |
| |
04/12 |
| Distributed universe programming (part 1) | ||
04/13 |
| Distributed universe programming (part 2) | ||
| ||||
| ||||
04/17 |
| No class |
| |
04/19 |
| Wrap up | ||
|
Calendar
Here are HTML and iCal versions of the above. It includes all-day events for days when homeworks are due and events for the exams and exam reviews. Feel free to add them to your favorite calendar app.