CSCI-UA.0202-002: 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
Tue 09/05 Introduction (notes) (whiteboard) Lab 1 released
Thu 09/07 Processes I (notes) (handout) (whiteboard) OSTEP 2 4
Week 2
Mon 09/11 Review Session I (60FA C15, 6 - 7pm)
Tue 09/12 Processes II (notes) (handout) (whiteboard) OSTEP 5 HW 2 Out
Wed 09/13 HW 1 DUE, 5:00 PM ET
Thu 09/14 Processes III, Concurrency/synchronization I (notes) (handout) (whiteboard) OSTEP 26 27 Lab 2 released
Fri 09/15 LAB 1 DUE, 7:00 PM
Week 3
Tue 09/19 Concurrency/synchronization II (notes) (handout) (handout) (whiteboard) OSTEP 28 29 30
Wed 09/20 HW 2 DUE, 5:00 PM
Thu 09/21 Concurrency/synchronization III (notes) (whiteboard) OSTEP 31, Appx D (reinforcement of monitors)
Week 4
Mon 09/25 Review Session II (60FA C15, 6:30 - 7:30pm)
Tue 09/26 Concurrency/synchronization IV (notes) (handout) (whiteboard) OSTEP 32
Wed 09/27 HW 3 DUE, 5:00 PM
Thu 09/28 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 09/29 LAB 2 DUE, 7:00pm
Week 5
Tue 10/03 Scheduling (notes) (whiteboard) OSTEP 7 8 9
Wed 10/04 HW 4 DUE, 5:00PM
Thu 10/05 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) Read this New York Times article and at least the first two pages of this one.
Week 6
Tue 10/10 Review Session III (60FA C15, 6 - 7pm)
Wed 10/11 HW 5 DUE, 5:00PM
Thu 10/12 Virtual Memory I (notes) (whiteboard) OSTEP 13 15 18 19
(Some, not all, of this will be review, given CS201.)
Lab 4 released
Fri 10/13 LAB 3 DUE, 7:00 PM
Week 7 (Midterm)
Tue 10/17 midterm review (whiteboard) Bring questions; most of the class will be Q&A
Thu 10/19 Midterm exam
Week 8
Tue 10/24 Virtual Memory II (notes) (handout) (whiteboard) OSTEP 20 (skip 20.2)
Wed 10/25 HW 6 DUE, 5:00PM
Thu 10/26 Virtual Memory III, WeensyOS (notes) (whiteboard) OSTEP 21 22 23
Week 9
Tue 10/31 Virtual Memory IV (notes) (whiteboard)
Tue 10/31 Review Session IV (60FA C15, 7:15 - 8:15pm)
Wed 11/01 HW 7 DUE, 5:00 PM
Thu 11/02 Context switches, user-level threading (notes) (handout) (whiteboard)
Week 10
Tue 11/07 I/O (notes) (handout) (whiteboard) OSTEP 36
Wed 11/08 HW 8 DUE, 5:00 PM
Thu 11/09 Disks (notes) (whiteboard) OSTEP 37 39 Lab 5 released
Fri 11/10 LAB 4 DUE, 7:00 PM
Week 11
Tue 11/14 File systems I (notes) (whiteboard) OSTEP 40
Wed 11/15 HW 9 DUE, 5:00 PM
Thu 11/16 File systems II (notes) (whiteboard) OSTEP 41
Week 12
Tue 11/21 File systems III (notes) (handout) (whiteboard) OSTEP 42
Thu 11/23 No class (Thanksgiving)
Week 13
Mon 11/27 Review Session V (60FA C15, 7:00 - 8:00pm)
Tue 11/28 No class (Travel/Workshop)
Wed 11/29 HW 10 DUE, 5:00 PM
Thu 11/30 Security I: Stack smashing (notes) (handout) (whiteboard) OSM:SCI 11.5
Optional: Smashing the Stack for Fun and Profit (errata)
Week 14
Tue 12/05 Security II: Unix (notes) (whiteboard) None
Wed 12/06 HW 11 DUE, 5:00 PM
Thu 12/07 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. Recently, Russ Cox found a copy of the compiler mentioned in the paper and discussed it in a blog post. We strongly recommend reading through the blog post, to better understand the paper.
Fri 12/08 LAB 5 DUE, 7:00 PM
Week 15
Tue 12/12 Putting it all together (notes) (handout) (whiteboard) None
Wed 12/13 HW 12 DUE, 5:00 PM
Thu 12/14 Final exam review (whiteboard) Bring questions; most of the class will be Q&A