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 Assignments Released:
Jan. 28 Basic Concepts and Systems Programming

Week 2

Feb. 2 The Kernel Abstraction
Feb. 4 Interrupts

Week 3

Feb. 9 The Programming Interface Assignments Released:
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 Scheduling in Linux Assignments Released:
Mar. 4 MP2 Walkthrough, Q&A

Week 7

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

Week 8

Mar. 16 Memory Management III
Mar. 18 Midterm Exam

Week 9

Mar. 23 Memory Management III
Mar. 25 MP3 Walkthrough, Q&A

Week 10

Mar. 30 Intro to Virtualization
Apr. 1 Virtualization II

Week 11

Apr. 6 IaaS, PaaS, SaaS, and more
Apr. 8 Containers

Week 12

Apr. 13 COVID-19 Non-Lecture Spring Break Replacement Day
Apr. 15 MP4 Overview

Week 13

Apr. 20 Disks and Files
Apr. 22 Reliability techniques for Storage

Week 14

Apr. 27 Distributed Systems
Apr. 29 Security

Week 15

May. 4 Final Review, Q&A