CS
3110 Schedule Spring 2009
The
notes linked below are required reading, but they are not a substitute for
attending lecture and recitation. The lectures and recitation sections are
tightly coupled: Lectures will assume knowledge from previous sections, and
vice-versa. These notes should be read sequentially (Monday's section,
Tuesday's lecture, Wednesday's section, Thursday's lecture, etc.). Note: due dates of unreleased assignments are tentative. Note: lecture and recitation topic schedule is tentative. |
|||
Meeting |
Date |
Topic |
|
Introduction to Functional Programming |
|||
Lec. 1 |
Jan. 20 |
||
Rec. 1 |
21 |
||
Lec. 2 |
22 |
OCaml syntax and evaluation (code) (PS1 issued) |
|
Thu Jan
22 |
|
||
Rec. 2 |
26 |
Tuples, records, and pattern matching (code for 2:30pm recitation) |
|
Lec. 3 |
27 |
||
Rec. 3 |
28 |
Higher-order Functions, Anonymous Functions, Currying, Side effects, Printing and Exceptions |
|
Lec. 4 |
29 |
Variants, recursive types, and polymorphism (code) (PS1 due, PS2 issued) |
|
Rec. 4 |
Feb. 2 |
||
Lec. 5 |
3 |
||
Rec. 5 |
4 |
||
Lec. 6 |
5 |
||
Functional Data Structures |
|||
Rec. 6 |
9 |
||
Lec. 7 |
10 |
Modules and data abstractions (structures and signatures) (code) |
|
Rec. 7 |
11 |
||
Lec. 8 |
12 |
Specifications and Abstraction Functions (code)(PS2 due, PS3 issued) |
|
Rec. 8 |
16 |
||
Lec. 9 |
17 |
||
Rec. 9 |
18 |
||
Lec. 10 |
19 |
||
Rec. 10 |
23 |
||
Lec. 11 |
24 |
||
Rec. 11 |
25 |
||
Lec. 12 |
26 |
Mutable data structures: disjoint set-forests (code) (PS3 due, PS4 issued) |
|
Rec. 12 |
Mar. 2 |
||
Lec. 13 |
3 |
||
Rec. 13 |
4 |
||
Lec. 14 |
5 |
||
Mar. 5 |
Preliminary Exam, 7:30-9:00pm |
||
Rec. 14 |
9 |
||
Imperative Programming and Concurrency |
|||
Lec. 15 |
10 |
||
Rec. 15 |
11 |
Prelim 1 wrap-up |
|
Lec. 16 |
12 |
Concurrency: multi-threading and mutexes (code)(PS4 due, plus extension) |
|
Spring Break |
|||
Rec. 16 |
23 |
||
Lec. 17 |
24 |
Concurrency: Producer-Consumer and Thread Pools (code) (PS5 issued) |
|
Rec. 17 |
25 |
||
Data Structures and Analysis of Algorithms |
|||
Lec. 18 |
26 |
||
Rec. 18 |
30 |
||
Lec. 19 |
31 |
||
Rec. 19 |
Apr. 1 |
||
Lec. 20 |
2 |
||
Rec. 20 |
6 |
||
Lec. 21 |
7 |
||
Rec. 21 |
8 |
||
Lec. 22 |
9 |
||
Rec. 22 |
13 |
||
Lec. 23 |
14 |
Memoization and dynamic programming (code) (PS5 due, PS6 issued) |
|
Topics |
|||
Rec. 23 |
15 |
||
Lec. 24 |
16 |
||
Rec. 24 |
20 |
||
Lec. 25 |
21 |
||
Rec. 25 |
22 |
||
Lec. 26 |
23 |
||
Apr. 23 |
Preliminary Exam, 7:30-9:00pm |
||
Rec. 26 |
27 |
No recitation: extra office hours for PS6 |
|
Lec. 27 |
28 |
CS Research Topics: Mining Large-Scale Social Data |
|
Rec. 27 |
29 |
No recitation: extra office hours for PS6 |
|
Lec. 28 |
30 |
CS Research Topics: The DARPA Urban Challenge |
|
May 6 |
PS6 due |
||
|
The Tournament |