Syllabus

This is the material that we have planned for this quarter. However, if there is something you are excited for, or if there is a topic you’ve heard about that doesn’t appear here, or if there is something that does appear here that you aren’t thrilled about, let us know! We want to make this as exciting and useful as possible for you.

Lecture material

Memory safety and Rust basics

How do you architect good code?

Avoiding multiprocessing pitfalls

Avoiding multithreading pitfalls

Putting this all into practice: Networked systems

Projects

These projects are tentative.

Simple debugger: Have you ever wondered how GDB works under the hood? You’ll use multiprocessing skills you’ve acquired from CS 110 and CS 110L to implement a simple version of your own!

High-performance server: Speed is important! Amazon found that a 0.1s increase in latency reduced sales by 1%, and Google found that an 0.4s increase in latency reduced searches by 0.7%. In this project, you’ll use a variety of techniques from CS 110 and CS 110L to build a fast but robust web server.