Resources:
| Unit | Slides (PDF) | Lectures | Lab | Topic | Reading |
| 0 | 1up, 4up, 16up | W 9/8, F 9/10 | 1 | Intro, Computation Overview | Comp 1-2.1 |
| 1a | 1up, 4up, 16up | M 9/13, W 9/15 | 1 | Numbers, Memory | Comp: 2.2-2.3 Text (2nd): 3.1-3.4, 3.9.3 Text (1st): 3.1-3.4, 3.10 |
| 1b | 1up, 4up, 16up | F 9/18, M 9/20, W 9/22 | 2 | Scalars, Arrays | Comp: 2.4.1-2.4.3 Text: 3.8 |
| 1c | 1up, 4up, 16up | F 9/24, M 9/27, W 9/29 | 3 | Instance Variables, Dynamic Allocation | Comp: 2.4.4-2.4.5 Text (2nd): 3.9.1, 9.9, 3.10 Text (1st): 3.9.1, 10.9, 3.11 |
| 1d | 1up, 4up, 16up | F 10/1, M 10/4 | 4 | Static Control Flow (Loops/If), Static Procedure Calls | Text 3.6.1-3.6.5 |
| 1e | 1up, 4up, 16up | W 10/6, F 10/8, W 10/13 | 5 | Procedures and the Stack | Text 3.7, 3.12 |
| 1f | 1up, 4up, 16up | F 10/15, M 10/18 | 6 | Dynamic Control Flow: Switch and Polymorphism | Text (2nd): 3.6.7, 3.10 Text (1st) 3.6.6, 3.11 |
| 2a | 1up, 4up, 16up | W 10/20, F 10/22 | 7 | I/O, DMA, Interrupts | Text 8.1, 8.2.1, 8.5.1-8.5.3 |
| 2b | 1up, 4up, 16up | M 10/25, F 10/29, M 11/1, W 11/3 | 8 | Virtual Processors and Threads, Scheduling | Text (2nd): 12.3 Text (1st): 13.3 |
| 2c | 1up, 4up, 16up | F 11/5, M 11/8, W 11/13, F 11/12, M 11/15 | 9 | Concurrency/Synchronization | Text (2nd) 12.4-12.5, 12.6, parts of 12.7 Text (1st): 13.4-13.5, (no equivalent to 12.6), parts of 13.7 |
| 2d | 1up, 4up, 16up | W 11/17, F 11/19 | - | Virtual Memory | Text (2nd): 9.1-9.2, 9.3.2-9.3.4 Text (1st): 10.1-10.2, 10.3.2-10.3.4 |
| 2e | 1up, 4up, 16up | M 11/22, W 11/24 | - | Operating System | Text (2nd): 8.2, 8.3, 9.5 Text (1st): 8.2, 8.3, 10.5 |
| 2f | 1up, 4up, 16up | F 11/26, M 11/29 | - | Inter-Process Communication, Protocols | Text (2nd) 11.1-11.5 Text (1st): 12.1-12.5 |
| 3 | 1up, 4up, 16up | W 12/1, F 12/3, (F 12/10) | - | Review/Wrapup |
| Week | Lectures | Lab | Other |
| 1 | 0.1, 0.2 | - | |
| 2 | 1a.1, 1a.2, 1b.1 | Lab 1 (on Unit 1a): out Mon 9/13, due Sun 9/19 | |
| 3 | 1b.2, 1b.3, 1c.1 | Lab 2 (on Unit 1b): out Mon 9/20, due Sun 9/26 | |
| 4 | 1c.2, 1c.3, 1d.1 | Lab 3 (on Unit 1c): out Mon 9/27, due Sun 10/3 | |
| 5 | 1d.2, 1e.1, 1e.2 | Lab 4 (on Unit 1d): out Mon 10/4, due Sun 10/10 | Quiz 1: Wed 10/6 |
| 6 | (hol), 1e.3, 1f.1 | Lab 5 (on Unit 1e): out Tue 10/12, due Sun 10/17 | |
| 7 | 1f.2, 2a.1, 1a.2 | Lab 6 (on Unit 1f): out Mon 10/18, due Sun 10/24 | Quiz 2: Wed 10/20 |
| 8 | 2b.1, MT, 2b.2 | - | Midterm: Wed 10/27. Tamara out of town all week, Mike Feeley guest lectures. |
| 9 | 2b.3, 2b.4, 2c.1 | Lab 7 (on Unit 2a): out Mon 11/1, due Sun 11/7 | |
| 10 | 2c.2, 2c.3, 2c.4 | Lab 8 (on Unit 2b): out Mon 11/8. no labs Thu 11/11 | Quiz 3: Wed 11/10 |
| 11 | 2c.5, 2d.1, 2d.2 | Lab 8 due Wed 11/17. Lab 9 (on Unit 2c): out Mon 11/15 | |
| 12 | 2e.1, 2e.2, 2f.1 | Lab 9 due Sun 11/28 | Quiz 4: Wed 11/24 |
| 13 | 2f.2, 2f.3, TBD | Lab 10 (on Unit 2c): out Mon 11/29, due Sun 12/5 | |
| Final: Wed 12/16 12-3pm DMP 310 |
| Date | Item | Material | Solution |
| Oct 6 | Quiz 1 | solutions | |
| Oct 20 | Quiz 2 | solutions | |
| Oct 27 | Midterm | sample sample solutions | midterm midterm solutions |
| Nov 10 | Quiz 3 | solutions | |
| Nov 24 | Quiz 4 | solutions | |
| Dec 16 12pm | Final | review questions |
| # | Due | Material |
| 1 | Sep 19 | description, sm.zip, code.zip, solutions |
| 2 | Sep 26 | description, snippets-1-2.zip, solutions |
| 3 | Oct 3 | description, code.zip, snippets-3-4.zip, solutions |
| 4 | Oct 10 | description, snippets-5-6.zip, solutions |
| 5 | Oct 17 | description, snippets-7-9.zip, solutions |
| 6 | Oct 24 | description, code.zip, snippets-A-B.zip, solutions |
| 7 | Nov 7 | description, code.zip, solutions |
| 8 | Nov 17 | description, code.zip, solutions |
| 9 | Nov 28 | description, code.zip, solutions |
| 10 | Dec 5 | description, code.zip, solutions |
| 11 | optional | description |
| Lab | Day 1 | Day 2 | Room |
| Lab 1E | Tue 10-11 am (Jimmy/Cam) | Thu 9-11 am (Amir/Nicholas) | X350 |
| Lab 1D | Tue 3-4 pm (Jimmy/Nick) | Thu 2-4 pm (Jimmy/Nick) | X050 |
| Lab 1A | Tue 4-5 pm (Amir/Nicholas) | Thu 4-6 pm (Amir/Cam) | X050 |
| Lab 1C | Wed 9-10 am (Jimmy/Nick) | Fri 9-11 am (Amir/Nick) | X350 |
| office hours | Fri 11am-1pm (Nick), 1-3 (Cam) | Fri 3-5 (Nicholas) | X350 |