CSCI 339 Distributed Systems (Not offered 2008-2009; to be offered 2009-2010) (Q)
This course studies the key design principles of distributed systems, which are collections of independent networked computers that function as single coherent systems. Covered topics include communication protocols, processes and threads, naming, synchronization, consistency and replication, fault tolerance, and security. Students also examine some specific real-world distributed systems case studies, ranging from the Internet to file systems. Class discussion is based on readings from the textbook and research papers. The goals of this course are to understand how large-scale computational systems are built, and to provide students with the tools necessary to evaluate new technologies after the course ends.
Format: lecture. Evaluation will be based on homework assignments, programming projects, and exams.
Prerequisites: Computer Science 136 (Data Structures) or equivalent programming experience, and Computer Science 237 (Computer Organization), or permission of the instructor. No enrollment limit (expected: 15).
PROJECT COURSE
ALBRECHT