This is an upper-undergraduate level course on distributed system class. The goal of this course is to study the fundamentals of distributed systems, and synthesize the design principles for building large scale computational systems.


Either EE 122 or CS 162 is required. You should know C or Java, data structures, computer algorithms, and basic probability (means, standard deviations, etc.). The TA will spend very little time reviewing material that is not specific to this course. We  assume that you either know the material that is supposed to be covered in those courses, or that you are willing to learn the material as necessary. We will not cover any of this material in lecture.


Required textbook:

Computing Facilities

All students enrolled in the class will be given an instructional account, xxx. Account forms will be handed out at the end of the first lecture (if you did not receive an account form, see your TA). Most of the Unix systems should have cross-mounted file systems, so you should actually be able to work on most of the EECS Unix systems. Your final run for each assignment must be done under that account, and must run on x86 Solaris machines.