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.

MondayTuesdayWednesdayThursdayFriday
sep 1
sep 2
sep 3
First day of classes
Block 1: Computer Systems Basics
sep 4
Assigned: Lab 0 (Setup)
Assigned: Project 1: Snake
No section this week
sep 5
sep 8
sep 9
DUE: Lab 0 (Setup)
sep 10
sep 11
sep 12
DUE: Project 1: Snake (checkin)
sep 15
sep 16
DUE: Lab 1 (C Programming & Build Tools)
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)
sep 29
sep 30
oct 1
oct 2
oct 3
oct 6
oct 7
oct 8
oct 9
oct 10
DUE: Project 2: DMalloc
oct 13
Indigenous People's Day
oct 14
LEC 12: File I/O, Stack
📄Notes
🎥Video
PLQ
Gearup: Caching I/O (🎥Recording, 📄Notes)
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
LEC 16: Virtual Memory
📄Notes
🎥Video
PLQ
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
nov 3
Block 3: Concurrency and Parallel Programming
nov 4
DUE: Lab 4 (Intro to WeensyOS)
nov 5
nov 6
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


Creative Commons Licence This work is licensed under a Creative Commons Attribution 4.0 International License.