Distributed Systems

UB Catalog information for CSE 486 , CSE 586

This information is advisory only. The authoritative course description and requirements for a given semester are defined by the course syllabus.

Current Offering: Spring 2018

Lecture MWF 13:00-13:50, Cooke 121
Office Hours TBD
TA Office Hours TBD



This course is a cross-listed graduate/undergraduate course titled Distributed Systems for undergraduate students and Large-Scale Distributed Systems for graduate students. Both versions of the course are project-heavy.


Students are expected to have a thorough understanding of data structures and algorithms, Internet architecture and networking (including the TCP/IP protocol suite), and operating systems. In addition, students are expected to have done some systems programming (e.g., using threads and sockets). Students must either know Java or be capable of picking it up rapidly.


The text for this course is Distributed Systems: Concepts and Design, Fifth Edition, by Coulouris, Dollimore, Kindberg, and Blair.

Course Structure

This is a project-heavy course. Students will be expected to implement several nontrivial applications on the Android platform. Projects will make up at least 50% of the final course grade, with the remainder being quizzes and midterm and final exams.

There are no graded homeworks for this course. Homeworks may be assigned to help students understand the material, and any material covered in homeworks may appear on exams or quizzes.

There are no scheduled quizzes for this course. In-class quizzes may be assigned as-needed at the instructor’s discretion.