University of Massachusetts Amherst School of Computer Science

Welcome to CMPSCI 230 Computer Systems Principles!

Large-scale software systems like Google - deployed over a world-wide network of hundreds of thousands of computers - have become a part of our lives. These are systems success stories - they are reliable, available ("up" nearly all the time), handle an unbelievable amount of load from users around the world, yet provide virtually instantaneous results. On the other hand, many computer systems don't perform nearly as well as Google - hence the now-cliché "the system is down." In this class, we study the scientific principles behind the construction of high-performance, scalable systems. The course begins with a discussion of the relevant features of modern architectures, and moves up the stack from there to operating system services such as programming language runtime systems, concurrency and synchronization, with a focus on key operating system features, I/O and networking, and distributed services. This course can be used as a "core" course for students in the CMPSCI minor. Prerequisites: CMPSCI 187 or ECE 242. 4 credits.

Fall 2013 Course Information

Spring 2013 Course Information

During the Spring 2013 offering of this course we experimented with students making an active contribution to this course by providing wiki notes. These wiki notes were written by students in the Spring 2013 class based on the content and material covered. The offering this semester has been changed to align more with the book so you will notice that they do not match entirely. Although we will not be using wiki notes this semester we are providing the link here for your studies.