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
jan 19
Martin Luther King Jr. Day
jan 20
jan 21
First day of classes
Block 1: Computer Systems Basics
jan 22
Assigned: Lab 0 (Setup)
Assigned: Project 1: Snake
No section this week
jan 23
jan 26
jan 27
DUE: Lab 0 (Setup)
jan 28
jan 29
jan 30
DUE: Project 1: Snake (checkin)
feb 2
feb 3
DUE: Lab 1 (C Programming & Build Tools)
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)
feb 16
Long Weekend
feb 17
Long Weekend
feb 18
feb 19
feb 20
feb 23
feb 24
feb 25
feb 26
Section week 4: Assembly
feb 27
DUE: Project 2: DMalloc
mar 2
mar 3
mar 4
mar 5
LEC 12: Stack
📄Notes
🎥Video
PLQ
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
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
LEC 16: Virtual Memory
📄Notes
🎥Video
PLQ
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
apr 8
apr 9
apr 10
DUE: Project 4: WeensyOS (everything)
DUE: SRC: Time Machine (part 1)
apr 13
apr 14
LEC 21: Pipes, Threads
📄Notes
🎥Video
PLQ
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


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