Course Syllabus
CompSci
131 - Parallel and Distributed Systems
Instructor: Prof. A.
Veidenbaum
TA: Sam Pyankov
Office
Hours
Instructor: Immediately
after each lecture or by appointment.
TA: During lab or discussion
sessions or by appointment
Prerequisites: ICS53+53L or CS143A (or equivalent)
Textbook: "Distributed Systems" by Maarten van Steen, Andrew
Tannenbaum. 3rd
edition
COURSE
OVERVIEW
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
optimization of such systems is presented.
Major topics covered in this course are:
Overview of parallel and distributed systems
OS support, networking, communication
Parallel and Distributed programming and performance
Coordination: clocks, election, mutual exclusion,
barriers
Consistency and replication
Consensus with failures and crashes
Deadlock and termination detection
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 and prepare you for the exams. 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.
GRADING
There will be 5 assignments, quizzes and a
final exam. All assignments will
be posted on the class web page and must be submitted electronically via
Canvas. Assignments will consist of 3 programming labs and 2 homeworks.
Assignments
will be graded and need to be performed individually.
Lab programs will be checked for copying through MOSS. There will be zero tolerance for cheating.
Your grade in CompSci131 will be based on
your performance on assignments, quizzes and the exams.
The following approximate weights will
be used:
Assignments -
35%
30% programming (assignments “weights”
depend on their degree of difficulty)
5% homework
Quizzes -
5%
Midterm 1 -
25%
Midterm 2 - 35%
Late assignments will NOT be accepted (exceptions
for illness, etc. must 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 assignment scores
were posted.
You MUST write a cover sheet explaining why you
believe a problem was mis-graded and return the assignment and the cover sheet
to the TA.