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
0 1
Thu, Jun 05 2025
C Review (Part 1)
WSL2 Install DUE Thu, Jun 05 2025 23:59 No submission needed
2
Fri, Jun 06 2025
C Review (Part 2)
C Assessment Quiz DUE Fri, Jun 06 2025 23:59 Moodle Quiz
1 3
Mon, Jun 09 2025
The Process Abstraction
Lab01: C Review & xv6 Introduction DUE Mon, Jun 09 2025 23:59 Submission box
4
Tue, Jun 10 2025
Operations on Processes
5
Thu, Jun 12 2025
IPC: Signals
Lab02: Simple Shell DUE Thu, Jun 12 2025 23:59 Submission box
6
Fri, Jun 13 2025
IPC: Pipes
2 7
Mon, Jun 16 2025
C debugging
Lab03: Process Lab DUE Mon, Jun 16 2025 23:59 Submission box
8
Tue, Jun 17 2025
Debugging in xv6
9
Fri, Jun 20 2025
Heap Manager Lab Walkthrough
Lab04: Debugging Lab DUE Fri, Jun 20 2025 23:59 Submission box
3 10
Mon, Jun 23 2025
Interrupts and Traps
[Challenge] Lab05: Heap Manager I DUE Mon, Jun 23 2025 23:59 Submission box
11
Tue, Jun 24 2025
Implementing system calls Activity
12
Thu, Jun 26 2025
Exam 1 Review
13
Fri, Jun 27 2025
No class, Exam 1
4 14
Mon, Jun 30 2025
Heap Manager II Lab Walkthrough
15
Tue, Jul 01 2025
Introduction to Paging
16
Thu, Jul 03 2025
Paging
5 17
Mon, Jul 07 2025
Lazy page allocation activity
[Challenge] Lab06: Heap Manager II DUE Mon, Jul 07 2025 23:59 Submission box
18
Tue, Jul 08 2025
Copy-on-Write Lab Walkthrough
19
Thu, Jul 10 2025
Multi-level Page Tables
[Challenge] Lab07: Copy-on-Write DUE Thu, Jul 10 2025 23:59 Submission box
20
Fri, Jul 11 2025
Threads: Lightweight Processes
6 21
Mon, Jul 21 2025
Mutex Locks
Lab 08: Threads & Mutex Basics DUE Mon, Jul 21 2025 23:59 Submission box
22
Tue, Jul 22 2025
Condition Variables
23
Thu, Jul 24 2025
Condition Variables Exercises
Lab 09: Condition Variables Basics DUE Thu, Jul 24 2025 23:59 Submission box
24
Fri, Jul 25 2025
Concurrency: Producer-consumer Problem
7 25
Mon, Jul 28 2025
Concurrency: Readers/Writers Problem
[Challenge] Lab 10: Condition Variables II DUE Mon, Jul 28 2025 23:59 Submission box
26
Tue, Jul 29 2025
Exam 2 Review and Practice
27
Thu, Jul 31 2025
Lab: Userspace Threads
28
Fri, Aug 01 2025
Exam 2
8 29
Mon, Aug 04 2025
Project Kickoff
Lab 11: Userspace Threads DUE Mon, Aug 04 2025 23:59 Submission box
30
Tue, Aug 05 2025
CPU Scheduling I
31
Thu, Aug 07 2025
CPU Scheduling II: The xv6 Scheduler
Project Milestone 1 DUE Thu, Aug 07 2025 23:59 Submission box
32
Fri, Aug 08 2025
Advanced Scheduling and Project Milestone 2
9 33
Mon, Aug 11 2025
Introduction to Memory Organization and Safety
Lab 12: The xv6 Scheduler DUE Mon, Aug 11 2025 23:59 Submission box
34
Tue, Aug 12 2025
Project Hints
35
Thu, Aug 14 2025
Control Flow Hijacking
Project Milestone 2 DUE Thu, Aug 14 2025 23:59 Submission box
36
Fri, Aug 15 2025
Advanced Stack Smashing
10 37
Mon, Aug 18 2025
Project Work Time
[Challenge] Lab 12: Memory Organization and Safety DUE Mon, Aug 18 2025 23:59 Submission box
38
Tue, Aug 19 2025
Project Work Time
39
Thu, Aug 21 2025
Project Work Time
40
Fri, Aug 22 2025
Project Work Time
Final Project DUE Fri, Aug 22 2025 23:59 Submission box