Homework, Projects and Marking

Throughout the semester, two assignments dealing with the theoretical aspects of distributed computing and two programming projects have to be completed. The first project will deal with shared memory systems. The second project will deal with message passing systems. The two programming projects need to be implemented in C language using POSIX threads and the Message Passing Interface (MPI) respectively.

Although students can create their programs on any type of computer or operating system, the examination of the project will be performed on the Department's UNIX machines. So stundents must ensure that their submitted code can be compiled and run on these machines.

Students are responsible for the misuse of their electronic account. They must ensure that their password remains secret and nobody has access to their account. Moreover, the folders under which they keep their assignments/project should not have read (or even worse write) permission by others (you may find command "chmod" useful for this purpose).

The final grade will be derived according to the weights described below:

Undergraduate Students

  • Assignments: 40%
  • Projects: 40%
  • Final Exam: 20%
  • Presence in class and Lab Sessions: bonus (up to 10%)

Graduate Students

Graduate students have the option to work on a final project instead of taking the final exam, where they will have to study a real research problem and the related bibliography, write an in-depth, comprehensive report and present their analysis in class.

  • Assignments: 40%
  • Projects: 40%
  • Final Project: 20%
  • Presence in class and Lab Sessions: bonus (up to 10%)