Fundamental algorithms for distributed system architectures, inter-process communications, data consistency and replication, distributed transactions and concurrency control, distributed file systems, network transparency, fault tolerant distributed systems synchronization, reliability. Prerequisites: COEN 233 and 283 or equivalent. (4 units)
COEN 233 and 283 or equivalent.
Robert Bruce
Upon successful completion of this course, students will be able to:
The following programs are meant as helpful resources and may be modified or utilized to complete the programming project.
C program using fork, exec, pipe, and FFMPEG:
C program using POSIX threads:
C program using POSIX threads with mutex:
C program example that connects to a Postgres database:
C program demonstrating socket communication between a client and server
C++ program demonstrating face landmark detection using the dLib library.
C/C++ program to draw Delaunay triangles
Most of the class lectures will be highly relevant to the project for this class and serve to complement Steen and Tanenbaum’s Distributed Systems.
The programming project is a team-based assignment to develop a distributed computing queue that processes a series of jobs (tasks) via a network of computers.
Each team will give two presentations in the class:
Each student must submit a project report.
The midterm exam will based-on chapters 1 through 4 inclusive of Steen and Tanenbaum’s Distributed Systems. The exam will be comprised of open-ended questions. The exam will be closed-book. You may use one A4 sheet of paper (8.5 inches width by 11 inches length) for notes during the midterm examination. You may write notes on both sides of the sheet of paper.
The final exam will based-on chapters 6 through 9 (inclusive) of Steen and Tanenbaum’s Distributed Systems. The exam will be comprised of open-ended questions. The exam will be closed-book. You may use one A4 sheet of paper (8.5 inches width by 11 inches length) of notes during the final exam. You may write notes on both sides of the sheet of paper.
† Graded as an individual‡ Graded as a group (each member of the group gets the same grade)
Ultimately this course is graded A, B, C, D, or F. Percentage grades are rounded to the nearest whole number. For example, a grade of 92.4% will be rounded to 92% and result in a grade of "A minus". A grade of 92.5% will be rounded to 93% and result in a grade of "A".