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)
Homework Notes
Week 1
Wed 09/03 Introduction (notes) (whiteboard) Lab 1 released
Thu 09/04 RS1 (lab 1) (notes)
Week 2
Mon 09/08 Processes I

LAB 0 DUE, 11:59 PM

(notes) (handout) (whiteboard)

OSTEP 2 4
Tue 09/09 HW1 DUE, 11:59 PM
Wed 09/10 Processes II (notes) (whiteboard) OSTEP 5
Thu 09/11 RS2 (productivity) (notes)
Fri 09/12 LAB 1 DUE, 11:59 PM Lab 2 released
Week 3
Mon 09/15 Concurrency/synchronization I (notes) (handout) (handout) (whiteboard) OSTEP 26 27
Tue 09/16 HW 2 DUE, 11:59 PM
Wed 09/17 Concurrency/synchronization II (notes) (handout) (whiteboard) OSTEP 28 29 30
Thu 09/18 RS3 (lab 2) (notes)
Week 4
Mon 09/22 Concurrency/synchronization III (notes) (handout) (whiteboard) OSTEP 31, Appx D (reinforcement of monitors)
Tue 09/23 HW 3 DUE, 11:59 PM
Wed 09/24 Concurrency/synchronization IV (notes) (handout) (whiteboard) OSTEP 32
Fri 09/26 LAB 2 DUE, 11:59 PM Lab 3 released
Week 5
Mon 09/29 Concurrency/synchronization V (notes) (handout) (whiteboard) Read Coding Standards for Programming with Threads, by Mike Dahlin
Tue 09/30 HW 4 DUE, 11:59 PM
Wed 10/01 Software safety I: Therac-25 (notes) (handout) (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.
Thu 10/02 RS4 (lab 3) (logistics and registration) (notes)
Week 6
Mon 10/06 Scheduling (notes) (whiteboard) OSTEP 7 8 9
Tue 10/07 HW 5 DUE, 11:59 PM
Wed 10/08 Virtual Memory I (notes) (whiteboard) OSTEP 13 15 18 19
(Some, not all, of this will be review, given CS201.)
Fri 10/10 LAB 3 DUE, 11:59 PM Lab 4 released
Week 7
Mon 10/13 No class (fall break)
Tue 10/14 Legislative Monday
Virtual Memory II

HW 6 DUE, 11:59 PM

(notes) (handout) (whiteboard)
OSTEP 20 (skip 20.2)
Wed 10/15 Virtual Memory III (notes) (whiteboard) OSTEP 21 22
Optional: 23
Week 8
Mon 10/20 Midterm review (notes) Bring questions; most of the class will be Q&A
Wed 10/22 Midterm exam
Week 9
Mon 10/27 Virtual Memory IV, WeensyOS (notes) (whiteboard) None
Tue 10/28 HW 7 DUE, 11:59 PM
Wed 10/29 I/O (notes) (handout) (whiteboard) OSTEP 36
Thu 10/30 RS5 (lab 4a) (logistics and registration) (notes) (handout)
Week 10
Mon 11/03 Context switches, user-level threading (notes) (handout) (whiteboard) OSTEP 6
Tue 11/04 HW 8 DUE, 11:59 PM
Wed 11/05 Disks (notes) (whiteboard) OSTEP 37 39
Thu 11/06 RS6 (lab 4b) (logistics and registration) (notes)
Week 11
Mon 11/10 File systems I (notes) (whiteboard) OSTEP 40
Tue 11/11 HW 9 DUE, 11:59 PM
Wed 11/12 File systems II (notes) (whiteboard) OSTEP 41
Fri 11/14 LAB 4 DUE, 11:59 PM Lab 5 released
Week 12
Mon 11/17 File systems III (notes) (handout) (whiteboard) OSTEP 42
Tue 11/18 HW 10 DUE, 11:59 PM
Wed 11/19 How debuggers work (notes) (handout) (whiteboard) None Demo of ptrace() functionality
Thu 11/20 RS7 (lab 5) (logistics and registration) (notes)
Week 13
Mon 11/24 Security I: Stack smashing (notes) (handout) (whiteboard) OSM:SCI 11.5
Optional: Smashing the Stack for Fun and Profit (errata)
Tue 11/25 HW 11 DUE, 11:59 PM
Wed 11/26 No class (legislative Friday)
Week 14
Mon 12/01 Security II: Unix (notes) (whiteboard) None
Tue 12/02 HW 12 DUE, 11:59 PM
Wed 12/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.
Fri 12/05 LAB 5 DUE, 11:59 PM
Week 15
Mon 12/08 Putting it all together (notes) (whiteboard) None
Wed 12/10 Final exam review (notes) (whiteboard) Bring questions; most of the class will be Q&A
Exam period (12/15 – 12/19)
Wed 12/17 final exam, 12:00 – 1:50 PM