Course Syllabus


CompSci 131 - Parallel and Distributed Systems


Instructor:   Prof. A. Veidenbaum

TA:            Aniket Shivam (



Prerequisites: ICS53+53L and (ICS45C or ICS 65 or equivalent)

         Students who started in the CS program before ICS53 was introduced

         do not need to take it to enroll in 131.


Textbook: "Distributed Systems" by Andrew Tannenbaum and Maarten van Steen. 2nd edition



This course is an introduction to parallel and distributed systems and their programming. It examines major concepts involved in creating parallel/distributed software and applications using a collection of independent, communicating single-processor systems. Performance issues in such systems are also covered.



Major topics covered in this course are:

Hardware parallel and distributed systems

OS support, networking

Programming models

Parallel/Distributed programming and performance

Coordination and Synchronization

Consistency and replication

Fault Tolerance

Data Centers



The course is composed of three components: lectures, homework assignments, and programming assignments. The objective of the lectures is to introduce and help you understand the concepts.  The assignments aim to strengthen and enhance your understanding. The assignments are based on lecture material and textbook readings. The focus of programming assignments is to put the concepts to practice and perform actual parallel/distributed programming.



Office Hours

Instructor:   Immediately after each lecture or by appointment.

TA:             Tu at 10am in CS424A (plus Fri 9-11am in the lab)



There will be 6 assignments and a final exam.   All assignments will be posted on the class web page and must be submitted electronically via EEE. Assignments will consist of 3 labs and 3 homeworks.


Assignments will be graded and need to be performed individually. Lab programs will checked through MOSS. There will be zero tolerance for cheating.


Your grade in CompSci131 will be based on your performance on assignments and the exams.

The following approximate weights will be used:

Assignments - 60%     (Individual assignments will carry different weights depending on the degree of difficulty)

Exams - 40%


Late assignments will NOT be accepted  (exceptions for illness or other cases may be made, in writing, as soon as possible and before the due date)


Assignment re-grade requests are only considered for a period of 1 week following the date when the assignment scores  have been posted. You MUST write a cover sheet explaining why you believe a problem was mis-graded to have an assignment re-graded. Return the assignment and the cover sheet to the TA.