Do you want to understand the magic that makes our computers work? This is your chance to master that magic.
Infrastructure – Piazza – Grading server
Lecture feedback – Lecture code
See here for details.
Stay safe and healthy everyone! 🥰
2020/04/25: Project 5 (Distributed Store) released!
2020/04/21: Lab 8 released! (Now due May 5.)
2020/04/14: Lab 7 released!
2020/04/10: Project 4 (Vunmo) released!
2020/04/01: Lab 6 released!
2020/03/03: Lab 5 released!
2020/02/27: Project 3 (WeensyOS) released!
2020/02/25: Lab 4 released!
2020/02/19: Lab 3 released!
2020/02/14: Project 2 (DMalloc) released!
2020/02/11: Lab 2 released!
2020/01/23: Lecture notes, code, and videos will be available from the schedule page.
Here are lecture notes for lectures 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25.
2020/01/23: Lab 0 and Lab 1, and Project 1 (Strings & Vectors) released!
2020/01/22: Sign up for Piazza!
Course Summary. The goal of CS 131/CSCI 1310 is to teach the fundamentals behind the "magic" of computer systems from the hardware level to the global internet. We'll cover the ideas, principles and abstractions that unify computer systems design – from how your laptop runs multiple programs at the same time, to how companies like Instagram, AirBnB, and Google operate large websites, to how easy it is to exploit security vulnerabilities on badly designed systems. This is a great class for students who are interested in learning what systems programming is, how systems work, and why these systems are so critical to modern technology.
Enrollment. CS 131/CSCI 1310 is open to anyone who has completed the introductory sequence (i.e., CS 16, 18, or 19). For students who don't satisfy the registration restrictions on CAB, please request an override code on CAB and include an explanation of your course experience, and we'll review your request.
What does CS 131 count for? CS 131/CSCI 1310 is a 1000-level course that can count as a related course in the systems pathway of the CS concentration and masters. In addition, CS 131 will satisfy the prerequisites for CSCI 1380 (Distributed Systems), CSCI 1270 (Databases), CSCI 1650 (Software Security and Exploitation), CSCI 1660 (Computer Systems Security), CSCI 1730 (Programming Languages), CSCI 1951-A (Data Science), CSCI 1680 (Computer Networks), and CSCI 2390 (Privacy-Conscious Computer Systems).