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 7
sep 8
sep 9
First day of classes
Block 1: Computer Systems Basics
sep 10
Assigned: Lab 0 (Setup)
Assigned: Project 1: Snake
No section this week
sep 11
sep 14
sep 15
DUE: Lab 0 (Setup)
sep 16
sep 17
sep 18
DUE: Project 1: Snake (checkin)
sep 21
sep 22
DUE: Lab 1 (C Programming & Build Tools)
sep 23
sep 24
sep 25
DUE: Project 1: Snake (parts 1 and 2)
sep 28
sep 29
sep 30
DUE: Lab 2 (Debugging)
oct 1
No section this week
oct 2
DUE: Project 1: Snake (everything)
oct 5
oct 6
oct 7
oct 8
oct 9
oct 12
Indigenous People's Day
oct 13
oct 14
oct 15
Section week 4: Assembly
oct 16
DUE: Project 2: DMalloc
oct 19
oct 20
Gearup: Caching I/O (🎥Recording, 📄Notes)
oct 21
Block 2: Fundamentals of Operating Systems
oct 22
Section week 5: Caching I/O prep
oct 23
DUE: Project 3: Caching I/O (design review, due during section)
oct 26
oct 27
LEC 14: Buffer overflow, Operating Systems Intro
Assigned: Lab 4 (Intro to WeensyOS)
oct 28
DUE: Lab 3 (Assembly)
oct 29
LEC 15: Privilege Separation, Memory Protection
No section this week
oct 30
DUE: Project 3: Caching I/O
Assigned: SRC: Time Machine
nov 2
nov 3
Election Day
nov 4
Midterm Quiz (evening, 7-9pm)
Materials: open laptop, compiler, limited Internet. NO communication, web search, or AI use; see Edstem for details.
nov 5
LEC 16: Virtual Memory
No section this week
nov 6
Assigned: Project 4: WeensyOS
nov 9
nov 10
LEC 17: Page Tables, Address Translation
DUE: Lab 4 (Intro to WeensyOS)
nov 11
Block 3: Concurrency and Parallel Programming
nov 12
LEC 18: Address Translation, Process Creation
Assigned: Lab 5 (Processes)
Section week 6: Page table practice
nov 13
DUE: Project 4: WeensyOS (steps 1-4)
nov 16
nov 17
LEC 19: Process Creation
nov 18
nov 19
LEC 20: Inter-Process Communication, Pipes
Section week 7: Pipes
nov 20
DUE: Project 4: WeensyOS (everything)
DUE: SRC: Time Machine (part 1)
nov 23
nov 24
LEC 21: Pipes, Threads
nov 25
Thanksgiving recess
nov 26
Thanksgiving recess
nov 27
Thanksgiving recess
nov 30
Assigned: Lab 6 (Threads)
dec 1
LEC 22: Race Conditions, Synchronization, Mutexes
DUE: Lab 5 (Processes)
Assigned: Project 5: Concurrent Store
dec 2
DUE: SRC: Time Machine (all parts)
dec 3
LEC 23: Synchronization, Atomics, Deadlock
Section week 8: Multithreading
dec 4
dec 7
dec 8
LEC 24: Bounded Buffer, Condition Variables
DUE: Lab 6 (Threads)
dec 9
dec 10
LEC 25: Networking, Replication, Summary, and Outlook
Last day of classes
No section this week
dec 11
DUE: Project 5: Concurrent Store
dec 14
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
dec 15
dec 16
dec 17
No section this week
dec 18


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