Course schedule.

All projects (pi) and homeworks (hi) are assigned during class on the date marked out, and are due at 12:01 am on the date marked DUE. Refer to the syllabus for other course information.

Schedule last updated 1/4/08.

WeekDateTopicReadingAssignments
1 1/8 Intro / Real World Software Development [Sandler] HT 1-2 h0 out
1/10 Software lifecycle / team programming
2 1/15 Graphs: BFS CLRS 22.1, 22.2 h0 due (wed)
1/17 Graphs: DFS; h1 intro CLRS 22.3 h1 out
3 1/22 Real-world software development (2.0); p1 intro p1 out
1/24 h1 post-mortem; p1 discussion; object-oriented programming; eclipse clinic 7pm to 9pm in SH207 Brooks87, Yegge06 h1 due
4 1/29 Regular expressions: theory & practice CLRS 32 (intro + .3) p1 spec
1/31 More on OO design
5 2/5 Disjoint sets CLRS 21.1-21.3 (skim 21.4) p1 beta
2/7 Graphs: spanning trees (PDF, PPT) CLRS 23
6 2/12 Graphs: topological sort CLRS 22.4 p1 "due"
2/14 Debugging & logging HT 3,4
7 2/19 p1 postmortem Spolsky08 p1 finale; h2 out
2/21 Compression ; p2 intro CLRS 16.2 (skim 32) p2 out
8 2/26 Testing and Ruby Propaganda (guest lecture by Jeff Kilpatrick)
2/28 B-trees, balanced trees, etc. CLRS 13, 18 p2 spec
9 3/4 Midterm break (no class)
Warning: subversion server maintenance this week.
3/6
10 3/11 Graphs: shortest paths
3/13 Concurrency 1 HT 5 p2 beta
11 3/18 Concurrency 2
3/20 p2 postmortem p2 due ; h2 out
12 3/25 Human factors / HCI 1
3/27 Genetic Algorithms, p3 intro (Fortuna) h2 due; p3 out
13 4/1 Human factors / HCI 2
4/3 Spring recess (no class)
14 4/8 Guest lecture: Jeff Grills p3 spec
4/10 Treaps and Splay Trees [cshaw]
15 4/15 TBD p3 beta
4/17 BDDs (Yousra Alkabani)
16 4/22 Wrap-up; p3 postmortem
4/23 Final day of the semester! p3 due