Computer Science 230 - Computer Systems Principles
Fall
2018
02
4.00
Nic Herndon
TU TH 11:30AM 12:45PM
UMass Amherst
82608
Morrill Sci. Ctr. (II) rm 131
nherndon@umass.edu
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-cliche "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.
Open to Computer Science majors only. COMPSCI 187 w/C STUDENTS ARE STRONGLY ADVISED NOT TO TAKE 220/230 IN THE SAME SEMESTER. DUE TO ENROLLMENT PRESSURE, THE UPC RESERVES THE RIGHT TO DROP STUDENTS ENROLLED IN BOTH FROM EITHER COURSE WHEN NECESSARY. CS MINORS, APPLICANTS-ON-CONTRACT, AND OTHERS NOT MEETING ELIGIBILITY, OR STUDENTS NEEDING SPECIAL PERMISSION MUST REQUEST OVERRIDES VIA THE ON-LINE FORM: https://www.cics.umass.edu/overrides.
Multiple required components--lab and/or discussion section. To register, submit requests for all components simultaneously.