CSCI-UA.0202-001: Schedule

This schedule is tentative. It is likely to change as the weeks go on.

Topics Reading
(to be completed before class)
HW Notes
Week 1
Mon 02/01 Introduction (notes) (whiteboard) Lab 1 released
Wed 02/03 Processes I (notes) (handout) (whiteboard) OSTEP 2 4
Week 2
Mon 02/08 Processes II (notes) (handout) (whiteboard) OSTEP 5
Tue 02/09 HW 1 DUE, 5:00 PM
Wed 02/10 Concurrency/synchronization I (notes) (handout) (whiteboard) OSTEP 26 27 Lab 2 released
Fri 02/12 LAB 1 DUE, 7:00 PM
Week 3
Mon 02/15 No class (Presidents' Day)
Tue 02/16 HW 2 DUE, 5:00 PM
Wed 02/17 Concurrency/synchronization II (notes) (handout) (whiteboard) OSTEP 28 29 30
Thu 02/18 Virtual Monday Concurrency/synchronization III (notes) (handout) (whiteboard) OSTEP 31, Appx D (reinforcement of monitors)
Week 4
Mon 02/22 Concurrency/synchronization IV (notes) (handout) (whiteboard) OSTEP 32
Tue 02/23 HW 3 DUE, 5:00 PM
Wed 02/24 Concurrency/synchronization V (notes) (whiteboard) Read Coding Standards for Programming with Threads, by Mike Dahlin
Bring questions about concurrency or the course generally
Lab 3 released
Fri 02/26 LAB 2 DUE, 7:00 PM
Week 5
Mon 03/01 Software safety I: Therac-25 (notes) (handout) (whiteboard) (1) Read the Therac-25 paper, following these tips. If you are off-campus, this link through the NYU libraries Web proxy may be useful.
(2) While you are reading, view these two helpful graphics (requires Flash), which illustrate linear accelerators and problems that they have caused.
(3) Read this New York Times article and at least the first two pages of this one.
Tue 03/02 HW 4 DUE, 5:00 PM
Wed 03/03 Scheduling (notes) (whiteboard) OSTEP 7 8 9
Week 6
Mon 03/08 Virtual Memory I (notes) (whiteboard) OSTEP 13 15 18 19
(Some, not all, of this will be review, given CS201.)
Tue 03/09 HW 5 DUE, 5:00 PM
Wed 03/10 Virtual Memory II (notes) (handout) (whiteboard) OSTEP 20 (skip 20.2)
Fri 03/12 LAB 3 DUE, 7:00 PM
Week 7
Mon 03/15 Virtual Memory III (notes) (whiteboard) OSTEP 21 22 23 Lab 4 released
Tue 03/16 HW 6 DUE, 5:00 PM
Wed 03/17 Virtual Memory IV, I/O I (notes) (handout) (whiteboard) OSTEP 36
Week 8
Mon 03/22 midterm review (notes) (whiteboard) Bring questions; most of the class will be Q&A
Wed 03/24 Midterm exam
Week 9
Mon 03/29 I/O II, WeensyOS (notes) (handout) (whiteboard)
Tue 03/30 HW 7 DUE, 5:00 PM
Wed 03/31 I/O III, Context switches (notes) (handout) (whiteboard)
Week 10
Mon 04/05 Disks (notes) (handout) (whiteboard) OSTEP 37 39
Tue 04/06 HW 8 DUE, 5:00 PM
Wed 04/07 File systems I (notes) (whiteboard) OSTEP 40 Lab 5 released
Week 11
Mon 04/12 File systems II (notes) (whiteboard) OSTEP 41
Tue 04/13 HW 9 DUE, 5:00 PM
Wed 04/14 File systems III (notes) (handout) (whiteboard) OSTEP 42
Fri 04/16 LAB 4 DUE, 7:00 PM
Week 12
Mon 04/19 "Spring break" (no class)
Wed 04/21 Distributed systems (NFS) (notes) (whiteboard) OSTEP 48 49
Fri 04/23 HW 10 DUE, 5:00 PM
Week 13
Mon 04/26 Security I: Stack smashing (notes) (handout) (whiteboard) OSM:SCI 11.5
Optional: Smashing the Stack for Fun and Profit (errata)
Tue 04/27 HW 11 DUE, 5:00 PM
Wed 04/28 Security II: Unix (notes) (whiteboard) None
Fri 04/30 LAB 5 DUE, 7:00 PM
Week 14
Mon 05/03 Security III: Trusting trust (notes) (whiteboard) Read Reflections on trusting trust, by Ken Thompson. Note: this classic is only three pages, but the length is deceptive. It may take a few slow and careful readings to really see what Thompson did. Please read it several times before class; a skim will not be useful.
Tue 05/04 HW 12 DUE, 5:00 PM
Wed 05/05 Putting it all together (notes) (handout) (whiteboard) None
Week 15
Mon 05/10 Final exam review (notes) (whiteboard) Bring questions; most of the class will be Q&A
Exam period (5/12 – 5/18)
Mon 05/17 final exam, 12:00 PM ET