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 |
jan 19 Martin Luther King Jr. Day | jan 20 | jan 21 First day of classes Block 1: Computer Systems Basics | jan 22 No section this week | jan 23 |
jan 26 | jan 27 DUE:
Lab 0 (Setup) Assigned:
Lab 1 (C Programming & Build Tools) | jan 28 | jan 29 | jan 30 DUE:
Project 1: Snake (checkin) |
feb 2 | feb 3 DUE:
Lab 1 (C Programming & Build Tools) Assigned:
Lab 2 (Debugging) | feb 4 | feb 5 | feb 6 DUE:
Project 1: Snake (parts 1 and 2) |
feb 9 | feb 10 | feb 11 DUE:
Lab 2 (Debugging) | feb 12 No section this week | feb 13 DUE:
Project 1: Snake (everything) Assigned:
Project 2: DMalloc |
feb 16 Long Weekend | feb 17 Long Weekend | feb 18 | feb 19 | feb 20 |
feb 23 | feb 24 Assigned:
Lab 3 (Assembly) | feb 25 | feb 26 Section week 4: Assembly | feb 27 DUE:
Project 2: DMalloc Assigned:
Project 3: Caching I/O |
mar 2 | mar 3 | mar 4 | mar 5 Section week 5: Caching I/O prep | mar 6 DUE:
Project 3: Caching I/O (design review, due during section) |
mar 9 | mar 10 | mar 11 Block 2: Fundamentals of Operating Systems DUE:
Lab 3 (Assembly) | mar 12 Assigned:
Lab 4 (Intro to WeensyOS) No section this week | mar 13 DUE:
Project 3: Caching I/O |
mar 16 | mar 17 | mar 18 Midterm Quiz (evening, 7-9pm) Materials: open laptop, compiler, limited Internet. NO communication, web search, or AI use; see Edstem for details. | mar 19 No section this week | mar 20 |
mar 23 Spring recess | mar 24 Spring recess | mar 25 Spring recess | mar 26 Spring recess | mar 27 Spring recess |
mar 30 | mar 31 DUE:
Lab 4 (Intro to WeensyOS) | apr 1 | apr 2 | apr 3 DUE:
Project 4: WeensyOS (steps 1-4) |
apr 6 | apr 7 Assigned:
Lab 5 (Processes) | apr 8 | apr 9 | apr 10 DUE:
Project 4: WeensyOS (everything) DUE: SRC: Time Machine (part 1) Assigned:
Project 5A: Concurrent Store |
apr 13 | apr 14 | apr 15 Block 3: Concurrency and Parallel Programming | apr 16 | apr 17 DUE:
SRC: Time Machine (all parts) |
apr 20 | apr 21 DUE:
Lab 5 (Processes) Assigned:
Lab 6 (Threads) | apr 22 | apr 23 LEC 24: Bounded Buffer, Condition Variables No section this week | apr 24 DUE:
Project 5A: Concurrent Store
(except Tweeter part) Assigned:
Project 5B: Distributed Store |
apr 27 | apr 28 LEC 25: Distributed Systems, Sharding DUE:
Lab 6 (Threads) | apr 29 Block 4: Distributed Systems | apr 30 LEC 26: Sharding, Networking No section this week | may 1 |
may 4 | may 5 LEC 27: Networking, Replication, Summary, and Outlook Last day of classes | may 6 | may 7 No section this week | may 8 DUE:
Project 5B: Distributed Store
+ Tweeter part of Project 5A |
may 11 | may 12 | may 13 | may 14 No section this week | may 15 Final Quiz Timing: 9:00am-12:00pm, rooms TBD Materials: open laptop, compiler, limited Internet. NO communication, web search, or AI use Scope: All lectures, Projects 4, 5A, 5B |