Course Schedule

(This schedule will be adjusted as the semester progresses. Future topics are a best-estimate on when we expect to cover them.)

Date Event

Week 1

Jan. 26 Course Introduction
Jan. 28 Basic Concepts and Systems Programming

Week 2

Feb. 2 The Kernel Abstraction
Feb. 4 Interrupts

Week 3

Feb. 9 The Programming Interface
Feb. 11 MP1 Walkthrough, Q&A

Week 4

Feb. 16 Concurrency & Threads
Feb. 18 Synchronization I

Week 5

Feb. 23 Synchronization II
Feb. 25 Scheduling

Week 6

Mar. 2 MP2 Walkthrough, Q&A
Mar. 4 Scheduling in Linux

Week 7

Mar. 9 Memory Management I
Mar. 11 Memory Management II

Week 8

Mar. 16 Midterm Review
Mar. 18 Midterm Exam

Week 9

Mar. 23 Memory Management III
Mar. 25 Intro to Virtualization

Week 10

Mar. 30 MP3 Walkthrough, Q&A
Apr. 1 Virtualization II

Week 11

Apr. 6 Virtualization III
Apr. 8 Disks and Files

Week 12

Apr. 13 COVID-19 Non-Lecture Spring Break Replacement Day
Apr. 15 File System Design I / MP4

Week 13

Apr. 20 File System Design II
Apr. 22 Reliability techniques for Storage

Week 14

Apr. 27 Distributed Systems
Apr. 29 Security

Week 15

May. 4 Final Review, Q&A