Schedule

Readings should be completed before the corresponding lecture. Assignment links appear on the Assignments page.

Week Dates Topic Reading Due
1 Aug 24–28 Intro, expressions, values Ch. 1.1–1.3
2 Aug 31–Sep 4 Functions, control flow Ch. 1.4–1.6 A1
3 Sep 7–11 Higher-order functions Ch. 1.7 A2
4 Sep 14–18 Recursion Ch. 1.8 A3
5 Sep 21–25 Data abstraction, sequences Ch. 2.1–2.3 A4
6 Sep 28–Oct 2 Mutable data Ch. 2.4 A5
7 Oct 5–9 Object-oriented programming Ch. 2.5 Midterm
8 Oct 12–16 Inheritance, generic functions Ch. 2.6–2.7 A6
9 Oct 19–23 Interpretation Ch. 3.1–3.2 A7
10 Oct 26–30 Trees, linked structures Ch. 3.3 A8
11 Nov 2–6 Streams and iterators Ch. 4.1 A9
12 Nov 9–13 SQL and databases Ch. 4.2 A10
13 Nov 16–20 Distributed computing Ch. 4.3 Proposal
14 Nov 23–27 Thanksgiving break
15 Nov 30–Dec 4 Project work / review
16 Dec 7–11 Final presentations Project