415 is handled by Oliver Kennedy. Please use him as your first port of call with 415 questions.

August 28 Introduction / Cooperative Multitasking: Implement a simple thread implementation and scheduler, synchronization primitives, and queues. Use these to build a simple application
September 4 Project 1 Questions
September 11 Project 1 Questions
September 18 Preemptive Multitasking: Use clock interrupts to add preemption to your thread implementation and write a more complex scheduler. Additionally, add alarm and sleep functionality to your thread implementation.
September 25 Project 2 Questions
October 2 Filesystems: Implement a simple filesystem, create a synchronous interface to the filesystem, and write a simple shell to test the filesystem. Optionally (Extra credit) build an application which showcases the features of your operating system.
October 9 Fall Break
October 16 Project 3 Questions
October 23 TBD
October 30 Unreliable Networking: Implement a network interface multiplexing protocol a'la UDP.
November 6 Project 4 Questions
November 13 Reliable Networking: Use your UDP implementation to build a reliable transport protocol a'la TCP
November 20 Project 5 Questions
November 27 Project 5 due / TBD