This is from the Fall 2013 version of the course. For the most recent version, try


27 August: Introduction

29 August: What is an Operating System?

3 September: Getting Started with Rust

5 September: Getting to the First Billion Andoid Installs

10 September: Processes

10 September: Due: PS1: zhttpo Web Server

12 September: Shells

17 September: PS2 Work Day

19 September: Memory Management

24 September: Pointers in Rust

26 September: Multi-Tasking

1 October: Scheduling

3 October: Smarter Scheduling

8 October: Synchronization

10 October: Mutual Exclusion, Trust

14 October: Due: Midterm

15 October: Reading Break

17 October: Web Server Scheduling

22 October: Benchmarking

24 October: Access Control

28 October: Due: PS3: Zhtta Web Server

29 October: Trick-or-Treat Protocols

31 October: Karsten Nohl: SIM Card Exploitation

4 November: Due: Project Proposals

5 November: Making a Process

7 November: System Calls

12 November: Virtual Memory

14 November: Fork in Depth

18 November: Due: Project Design Reviews

19 November: Yuchen Zhou: Authentication Protocols

22 November: Storage Systems

26 November: Tom Pinckney: Scalining eBay

28 November: Thanksgiving Break

3 December: Invent the Future

5 December: Project Demos