Here is the tentative schedule of lectures and due dates. The lecture material for future lectures may change.
While the notes and videos published here may help you remember the material discussed, they are not a replacement for attending lectures. Videos for each lecture will be published shortly after the lecture ends; if you do not see a link yet, check this page (Brown login required).
About deadlines: Assignments are generally due according to this schedule:
- Projects are generally due on Fridays at 8pm
- Labs are generally due on Tuesdays at 8pm
- ❓ Post-Lecture Quizzes (PLQs) are due the day before the next lecture at 11:59pm
Code from the lectures is available at github.com/csci0300/cs300-lectures. See the notes for each lecture for more info.
| Monday | Tuesday | Wednesday | Thursday | Friday |
sep 1 | sep 2 | sep 3 First day of classes Block 1: Computer Systems Basics | sep 4 No section this week | sep 5 |
sep 8 | sep 9 DUE:
Lab 0 (Setup) Assigned:
Lab 1 (C Programming & Build Tools) | sep 10 | sep 11 | sep 12 DUE:
Project 1: Snake (checkin) |
sep 15 | sep 16 DUE:
Lab 1 (C Programming & Build Tools) Assigned:
Lab 2 (Debugging) | sep 17 | sep 18 | sep 19 DUE:
Project 1: Snake (parts 1 and 2) |
sep 22 | sep 23 | sep 24 DUE:
Lab 2 (Debugging) | sep 25 No section this week | sep 26 DUE:
Project 1: Snake (everything) Assigned:
Project 2: DMalloc |
sep 29 | sep 30 | oct 1 | oct 2 | oct 3 |
oct 6 | oct 7 Assigned:
Lab 3 (Assembly) | oct 8 | oct 9 | oct 10 DUE:
Project 2: DMalloc Assigned:
Project 3: Caching I/O |
oct 13 Indigenous People's Day | oct 14 | oct 15 | oct 16 | oct 17 DUE:
Project 3: Caching I/O (design review, due during section) |
oct 20 Block 2: Fundamentals of Operating Systems | oct 21 DUE:
Lab 3 (Assembly) | oct 22 | oct 23 No section this week | oct 24 DUE:
Project 3: Caching I/O |
oct 27 | oct 28 | oct 29 Midterm Quiz (evening, 7-9pm) Materials: open laptop, compiler, limited Internet. NO communication, web search, or AI use; see Edstem for details. | oct 30 No section this week | oct 31 Assigned:
Project 4: WeensyOS |
nov 3 Block 3: Concurrency and Parallel Programming | nov 4 DUE:
Lab 4 (Intro to WeensyOS) | nov 5 | nov 6 Assigned:
Lab 5 (Processes) | nov 7 DUE:
Project 4: WeensyOS (steps 1-4) |
nov 10 | nov 11 LEC 20: Inter-Process Communication, Pipes | nov 12 | nov 13 LEC 21: Pipes, Threads Section week 7: Pipes | nov 14 DUE:
Project 4: WeensyOS (everything) DUE: SRC: Time Machine (part 1) |
nov 17 | nov 18 LEC 22: Race Conditions, Synchronization, Mutexes DUE:
Lab 5 (Processes) Assigned:
Project 5A: Concurrent Store Assigned: Lab 6 (Threads) | nov 19 | nov 20 LEC 23: Synchronization, Atomics, Deadlock Section week 8: Multithreading | nov 21 DUE:
SRC: Time Machine (all parts) |
nov 24 | nov 25 LEC 24: Bounded Buffer DUE:
Lab 6 (Threads) | nov 26 Thanksgiving recess | nov 27 Thanksgiving recess | nov 28 Thanksgiving recess |
dec 1 Block 4: Distributed Systems | dec 2 LEC 25: Condition Variables, Distributed Systems, Sharding | dec 3 | dec 4 LEC 26: Sharding, Networking No section this week | dec 5 DUE:
Project 5A: Concurrent Store Assigned:
Project 5B: Distributed Store |
dec 8 | dec 9 LEC 27: Networking, Replication, Summary, and Outlook | dec 10 | dec 11 LEC 28: TBD Last day of classes No section this week | dec 12 |
dec 15 Final Quiz Timing: 9:00am-12:00pm, rooms TBD | dec 16 | dec 17 | dec 18 DUE:
Project 5B: Distributed Store (MAX 51 LATE HRS) | dec 19 |