⚠️ Warning: This is not the current iteration of the course! Look here for the current offering.

Here is the tentative schedule of lectures and due dates. The lecture material for future lectures may change.

Generally, projects are due at 8pm on Fridays, labs are due at 8pm on Tuesdays.

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).

🎥: Lecture Capture  —  ❓: Post-Lecture Quiz (due 11:59pm the day before the next lecture).

Code from the lectures and section is available at github.com/csci0300/cs300-lectures.

MondayTuesday WednesdayThursday Friday
jan 20
jan 21
jan 22
First day of classes
Block 1: Computer Systems Basics
jan 23
Assigned: Lab 0 (Setup)
Assigned: Project 1: Snake
No section this week
jan 24
jan 27
jan 28
LEC 2: Introduction to C
📄Notes
🎥Video
PLQ
DUE: Lab 0 (Setup)
jan 29
jan 30
LEC 3: Pointers and Strings
📄Notes
🎥Video
PLQ
jan 31
DUE: Project 1: Snake (checkin)
feb 3
feb 4
DUE: Lab 1 (C Programming & Build Tools)
Assigned: Lab 2 (Debugging)
feb 5
feb 6
LEC 5: Arrays and Structures
📄Notes
🎥Video
PLQ
feb 7
DUE: Project 1: Snake (parts 1 and 2)
feb 10
feb 11
feb 12
DUE: Lab 2 (Debugging)
feb 13
No section this week
feb 14
DUE: Project 1: Snake (everything)
Assigned: Project 2: DMalloc
feb 17
Long weekend
feb 18
Long weekend
feb 19
feb 20
feb 21
feb 24
feb 25
LEC 9: Assembly Language
📄Notes
🎥Video
PLQ
Assigned: Lab 3 (Assembly)
feb 26
feb 27
feb 28
DUE: Project 2: DMalloc
mar 3
mar 4
LEC 11: File I/O, Stack
📄Notes
🎥Video
PLQ
Gearup: Caching I/O (🎥Recording, 📄Notes)
mar 5
mar 6
LEC 12: Stack, Buffer Overflow
📄Notes
🎥Video
PLQ
mar 7
DUE: Project 3: Caching I/O (design review, due during section)
mar 10
Block 2: Fundamentals of Operating Systems
mar 11
LEC 13: Caching
📄Notes
🎥Video
PLQ
DUE: Lab 3 (Assembly)
mar 12
mar 13
LEC 14: Operating Systems Intro
📄Notes
🎥Video
PLQ
No section this week
mar 14
DUE: Project 3: Caching I/O
mar 17
mar 18
mar 19
Midterm Quiz (evening 7-9pm)
Materials: open laptop, compiler, Internet. NO communication or AI use
mar 20
LEC 16: Virtual Memory
📄Notes
🎥Video
PLQ
No section this week
mar 21
mar 24
Spring recess
mar 25
Spring recess
mar 26
Spring recess
mar 27
Spring recess
mar 28
Spring recess
mar 31
apr 1
DUE: Lab 4 (Intro to WeensyOS)
apr 2
apr 3
apr 4
DUE: Project 4: WeensyOS (steps 1-4)
apr 7
Block 3: Concurrency and Parallel Programming
apr 8
LEC 19: Process Creation
📄Notes
🎥Video
PLQ
Assigned: Lab 5 (Processes)
apr 9
apr 10
apr 11
DUE: Project 4: WeensyOS (everything)
DUE: SRC: Time Machine (part 1)
apr 14
apr 15
LEC 21: Pipes, Threads
📄Notes
🎥Video
PLQ
Assigned: Lab 6 (Threads)
apr 16
apr 17
DUE: Lab 5 (Processes)
apr 18
DUE: SRC: Time Machine (all parts)
apr 21
apr 22
DUE: Lab 6 (Threads)
apr 23
apr 24
LEC 24: Bounded Buffer
📄Notes
🎥Video
PLQ
No section this week
apr 25
DUE: Project 5A: Concurrent Store
apr 28
Block 4: Distributed Systems
apr 29
apr 30
may 1
LEC 26: Sharding, Networking
📄Notes
🎥Video
PLQ
No section this week
may 2
may 5
may 6
may 7
Last day of classes
Final Quiz
Materials: open laptop, book, compiler, Internet, NO communication
Scope: All lectures, Projects 4, 5A, 5B
Timing: 9:00am-12:00pm, rooms TBD
may 8
DUE: Project 5B: Distributed Store (MAX 51 LATE HRS)
may 9


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