Syllabus
The table below is your guide to the entire semester. It lists topics and reading assignments on a week-by-week basis. In the second column you find the lecture dates.The readings column is linked to the relevant book’s web site. You can find the required readings there.
You are primarily responsible for the readings not the content of the lectures though the latter will help you understand the former. The weekly problem sets, the quizzes, and the exams will cover the reading material.
Week | Day | Topic | Reading |
---|---|---|---|
1 | 2e: Prologue | ||
01/06 | why cs; arithmetic of numbers, strings; admin stuff | ||
01/08 | arithmetic of images, functions, simple big-bang | ||
01/09 | arithmetic of booleans, conditionals in functions | ||
2 | 2e: I:1-5.1 | ||
01/13 | intervals and conditionals | ||
01/15 | enumerations and conditionals | ||
01/16 | structure type definitions, Posn | ||
3 | 2e: I:5.2-7 | ||
01/20 | MLK day | ||
01/22 | designing programs: 6 steps, tests | ||
01/23 | the universe of data, structures, functions on structures | ||
4 | 2e: int.:BSL, II:9-10 | ||
01/27 | unions of strings, numbers, structures; functions on unions | ||
01/29 | self-referential unions, russian dolls, functions on russian dolls | ||
01/30 | lists and functions on lists | ||
5 | 2e: int.:quote, II:11-14, I:3.6 | ||
02/03 | non-empty lists and functions, structures in lists | ||
02/05 | lists in structures | ||
02/06 | design of a list-based world program, 1; Exam 1 (6-8pm) | ||
6 | 2e: III:16-18 | ||
02/10 | design of a list-based world program, 2 | ||
02/12 | design of a list-based world program, 3 | ||
02/13 | similarities in functions | ||
7 | 2e: III:19-20 | ||
02/17 | Presidents' Day | ||
02/19 | abstraction over similar functions | ||
02/20 | abstraction over similar functions: design | ||
8 | 2e: IV:22-24 | ||
02/24 | similarities in DD, abstracting over DDs, signatures | ||
02/26 | existing abstractions and using them | ||
02/27 | more on using loops | ||
9 | 2e: IV:25 | ||
03/10 | lambda and scope | ||
03/12 | sets | ||
03/13 | S-expressions, functions over S-expr | ||
10 | 1e: V:25-27, 2e: IV:26-27 | ||
03/17 | trees and forests | ||
03/19 | trees and forests: functions, design | ||
03/20 | processing 2 complex arguments; Exam 2 (6-8pm) | ||
11 | 1e: V:28, VI:30 | ||
03/24 | merge sort | ||
03/26 | graphs | ||
03/27 | graph traversal | ||
12 | 1e: VI:31-33 | ||
03/31 | generative recursion | ||
04/02 | generative recursion | ||
04/03 | speed from accumulators | ||
13 | |||
04/07 | accumulators | ||
04/09 | BSL interpreter | ||
04/10 | BSL interpreter; Wrap-up | ||
14 | |||
04/14 | Exam 3 (in-class) |
*Note: the instructors reserve the right to change the order of topics or dates if necessary.