Class Schedule

The following table outlines the schedule of lectures and assignments for the course. It should give you a good idea on the load expected in this class on a week by week basis. However, we reserve the right to change the order of lectures and/or assignments with an advanced week’s notice.

Jump to week: 0 1 2 3 4 5 6 7 8 9 10

Week Session Reading Topics Material
1 1
Mon, Mar 04 2024
OS Introduction
WSL2 Install DUE Mon, Mar 04 2024 23:59 No submission needed
2
Tue, Mar 05 2024
C Review
3
Thu, Mar 07 2024
The Process Abstraction
C Review & xv6 Introduction DUE Thu, Mar 07 2024 23:59 Submission box
4
Fri, Mar 08 2024
Operations on Processes
2 5
Mon, Mar 11 2024
IPC: Signals
Simple Shell DUE Mon, Mar 11 2024 23:59 Submission box
6
Tue, Mar 12 2024
IPC: Pipes
7
Thu, Mar 14 2024
Makefiles
Process Lab DUE Thu, Mar 14 2024 23:59 Submission box
8
Fri, Mar 15 2024
Hacking Day: Heap Manager
3 9
Mon, Mar 18 2024
Introduction to Paging
Heap Manager DUE Mon, Mar 18 2024 23:59 Submission box
10
Tue, Mar 19 2024
Paging
11
Thu, Mar 21 2024
Exam 1: Part 1 Review
12
Fri, Mar 22 2024
Exam 1: Part 1
4 13
Mon, Mar 25 2024
Multi-level Page Tables
14
Tue, Mar 26 2024
Interrupts and Traps Activity
[Challenge] Heap Manager II DUE Tue, Mar 26 2024 23:59 Submission box
15
Thu, Mar 28 2024
Exam 1: Part 2 Review
16
Fri, Mar 29 2024
Exam 1: Part 2
5 17
Mon, Apr 01 2024
Lazy page allocation activity
18
Tue, Apr 02 2024
Threads: Lightweight Processes
19
Thu, Apr 04 2024
Concurrency: Mutex & Condition Variables Activity
[Challenge] Copy-on-Write DUE Thu, Apr 04 2024 23:59 Submission box
20
Fri, Apr 05 2024
Mutex locks practice Activity
6 21
Mon, Apr 15 2024
Concurrency: Condition Variables Activity
Threads & Mutex Basics DUE Mon, Apr 15 2024 23:59 Submission box
22
Tue, Apr 16 2024
Concurrency: Condition Variables Practice Activity
23
Thu, Apr 18 2024
Concurrency: Producer-consumer Problem Activity
Condition Variables Basics DUE Thu, Apr 18 2024 23:59 Submission box
24
Fri, Apr 19 2024
Concurrency: Readers/Writers Problem Activity
7 25
Mon, Apr 22 2024
CPU Scheduling I
[Challenge] Condition Variables II DUE Mon, Apr 22 2024 23:59 Submission box
26
Tue, Apr 23 2024
The xv6 scheduler
27
Thu, Apr 25 2024
Exam 2 Review
28
Fri, Apr 26 2024
Exam 2 Part 1
8 29
Mon, Apr 29 2024
Introduction to Memory Safety
Scheduler Activity DUE Mon, Apr 29 2024 23:59 Submission box
30
Tue, Apr 30 2024
Stack Smashing and Its Variants
31
Thu, May 02 2024
Return-to-libc Attacks
32
Fri, May 03 2024
Exam 2 Part 2
9 33
Mon, May 06 2024
Return-Oriented-Programming and Wrap-up
[Challenge] Stack Smashing Lab DUE Mon, May 06 2024 23:59 Submission box
34
Tue, May 07 2024
File Systems
35
Thu, May 09 2024
Project Work Time
Project Milestone 1 DUE Thu, May 09 2024 23:59 Submission box
36
Fri, May 10 2024
Project Work Time and Meetings
10 37
Mon, May 13 2024
Lab: ext2 file system
[Challenge] ext2 File System DUE Mon, May 13 2024 23:59 Submission box
38
Tue, May 14 2024
Project Work Time and Meetings
39
Thu, May 16 2024
Project Work Time and Meetings
40
Fri, May 17 2024
Project Work Time and Meetings
Project Milestone 2 DUE Fri, May 17 2024 23:59 Submission box