CSCI 520: Distributed Systems


Spring 2016

Instructor: Mike P. Wittie

Course Description

A distributed system is one in which components located at networked computers communicate and coordinate their actions only by passing messages. This definition leads to the following especially significant characteristics of distributed systems: concurrency of components, lack of a global clock, and independent failures of components - Coulouris et al.

This course will investigate the fundamentals of distributed system design and the latest research trends. Some of the important changes in distributed system design are nearly ubiquitous networking, increasing demand for dynamic content, and trend towards widely distributed application deployments through cloud computing.

Course Prerequisites

CSCI 432: Advanced Algorithm Topics (CS 324)
CSCI 466: Networks (CS440)




I want this course to be engaging and productive in terms of the knowledge and skills you will acquire. To accomplish both tasks, I will ask you to do some work. I have structured the grade criteria to give you incentive to stay engaged and succeed in the course and to give you a solid background preparation to define and complete an original research project.

Unless otherwise instructed, all programming assignments must be submitted by 11:59PM on the due date. Late assignments will loose 10% of credit for every hour they are late. Homework assignments must be completed individually. The project will be completed in pairs.



Lecture: MWF 2:10-3PM in ROBH 121
Final: 5/5/16 6-7:50AM on D2L (take-home)

Assignment deadlines as well as other course materials (lectures, assignments, and readings) will be posted on D2L.


Office Hours

Mike Wittie: MT 3:10-4PM and by appointment in EPS 361

Course Textbook (optional):

Distributed Systems: Concepts and Design

Class Attendance

Class attendance is mandatory. You are responsible for the material covered in class. Prepare in advance for class by reading and studying the assigned text, and by making sure you understand the previous lecture.

Policy on Academic Integrity

The integrity of the academic process requires that credit be given where credit is due. Accordingly, it is a breach of academic integrity to present the ideas or works of another as one's own work, or to permit another to present one's work without customary and proper acknowledgment of authorship. Students may collaborate with other students only as expressly permitted by the instructor. Students are responsible for the honest completion and representation of their work, the appropriate citation of sources and the respect and recognition of others' academic endeavors. According to Montana State University Conduct Guidelines and Grievance Procedures for Students, academic misconduct includes cheating, plagiarism, forgery, falsification, facilitation or aiding academic dishonesty; multiple submission, theft of instructional materials or tests; unauthorized access to, manipulation of or tampering with laboratory equipment, experiments, computer programs, or animals without proper authorization; alteration of grades or files; misuse of research data in reporting results; use of personal relationships to gain grades or favors, or otherwise attempting to obtain grades or credit through fraudulent means.

In other words, you may:

You may NOT:

Consequences, depending on severity of violation:

Academic misconduct will be reported to the Department Chair and the Provost's Office

Students with Disabilities

A student who desires accommodation for a disability must submit appropriate documentation of the disability and request for accommodations to The Office of Disability, Re-Entry, and Veteran's Services Room #155 Strand Union Building, (406-994-2824).