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)
Practice Questions Notes
Week 1
Wed 01/22 Introduction (notes) (whiteboard) Lab 0 and Lab 1 released
Week 2
Mon 01/27 Processes I

LAB 0 DUE, 11:59 PM

(notes) (handout) (whiteboard)

OSTEP 2 4
Tue 01/28 RS1: Lab 1 and setup (logistics and registration)

Complete HW1

(notes)
Wed 01/29 Processes II (notes) (whiteboard) OSTEP 5 Lab 2 released
Fri 01/31 LAB 1 DUE, 11:59 PM
Week 3
Mon 02/03 Concurrency/synchronization I (notes) (handout) (handout) (whiteboard) OSTEP 26 27
Tue 02/04 Complete HW2
Wed 02/05 Concurrency/synchronization II (notes) (handout) (whiteboard) OSTEP 28 29 30
Thu 02/06 RS2 (lab 2) (logistics and registration) (notes)
Week 4
Mon 02/10 Concurrency/synchronization III (notes) (handout) (whiteboard) OSTEP 31, Appx D (reinforcement of monitors)
Tue 02/11 Complete HW3
Wed 02/12 Concurrency/synchronization IV (notes) (handout) (whiteboard) OSTEP 32 Lab 3 released
Thu 02/13 RS3 (lab 2,3) (logistics and registration) (notes)
Fri 02/14 LAB 2 DUE, 11:59 PM
Week 5
Mon 02/17 No class (Presidents' Day)
Tue 02/18 Complete HW4
Wed 02/19 Concurrency/synchronization V (notes) (handout) (whiteboard) Read Coding Standards for Programming with Threads, by Mike Dahlin
Bring questions about concurrency or the course generally
Thu 02/20 RS4: Lab 3 (logistics and registration) (notes)
Week 6
Mon 02/24 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.
Tue 02/25 Complete HW5
Wed 02/26 Scheduling (notes) (whiteboard) OSTEP 7 8 9 Lab 4 released
Fri 02/28 LAB 3 DUE, 11:59 PM
Week 7
Mon 03/03 Virtual Memory I (notes) (whiteboard) OSTEP 13 15 18 19
(Some, not all, of this will be review, given CS201.)
Tue 03/04 RS5: Lab 4 (logistics and registration) (notes)
Wed 03/05 Virtual Memory II (notes) (handout) (whiteboard) OSTEP 20 (skip 20.2)
Fri 03/07 Complete HW6
Week 8
Mon 03/10 midterm review (notes) Bring questions; most of the class will be Q&A
Wed 03/12 Midterm exam
Week 9
Mon 03/17 Virtual Memory III (notes) (whiteboard) OSTEP 21 22 23
Tue 03/18 Complete HW7
Wed 03/19 Virtual Memory IV, WeensyOS (notes) (handout) (whiteboard)
Thu 03/20 RS6: Lab 4 (logistics and registration) (notes)
Spring break
Mon 03/24 No class
Wed 03/26 No class
Week 10
Mon 03/31 I/O (notes) (handout) (whiteboard) OSTEP 36
Tue 04/01 Complete HW8
Wed 04/02 Context switches, user-level threading (notes) (handout) (whiteboard) Lab 5 released
Thu 04/03 Disks (3:30 - 4:45 PM, signup) (notes) (whiteboard) OSTEP 37 39
Fri 04/04 LAB 4 DUE, 11:59 PM
Week 11
Mon 04/07 File systems I (notes) (whiteboard) OSTEP 40
Tue 04/08 Complete HW9
Wed 04/09 File systems II (notes) (whiteboard) OSTEP 41
Thu 04/10 RS7: Lab 5 (logistics and registration) (notes)
Week 12
Mon 04/14 File systems III (notes) (handout) (whiteboard) OSTEP 42
Tue 04/15 Complete HW10
Wed 04/16 How debuggers work (notes) (handout) (whiteboard) None Demo of ptrace() functionality
Week 13
Mon 04/21 Security I: Stack smashing (notes) (handout) (whiteboard) OSM:SCI 11.5
Optional: Smashing the Stack for Fun and Profit (errata)
Tue 04/22 Complete HW11
Wed 04/23 Security II: Unix (notes) (whiteboard) None
Fri 04/25 LAB 5 DUE, 11:59 PM
Week 14
Mon 04/28 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 04/29 Complete HW12
Wed 04/30 Putting it all together (notes) (whiteboard) None
Week 15
Mon 05/05 Final exam review (notes) (whiteboard) Bring questions; most of the class will be Q&A
Exam period (5/08 – 5/14)
Mon 05/12 final exam, 4:00 – 5:50 PM