University of Information Technology

Distributed Systems

Course Description

The course introduces the broad perspective of distributed systems and their characteristics. Then, the main principles underlying distributed systems are explained. The explanation mainly focused on the basic architectures, design principles of distributed computing systems, processes, communication, naming, synchronization, consistency, fault tolerance and how they meet the demands of contemporary distributed applications. Finally, the course ends with design and implementation of distributed system.

The aims of this course are:

  • To explain the fundamentals, concepts and design of distributed systems.
  • To discuss how to design distributed system.
  • To implement simple distributed system.

Intended Learning Outcomes

Upon the successful completion of this course, students should be able to:

  • understand the fundamental concepts and main features of distributed systems.
  • familiar with some of the main paradigms in distributed systems.
  • analyze how traditional web-based systems have applied the concepts of distributed systems in designing distributed systems
  • design simple and modern distributed systems.
  • apply key design principles to an implementation of distributed system and solve problems in an efficient, reliable and scalable way.

Text and References Books


  1. Distributed Systems Principles and Paradigms By Andrew S. Tanenbaum (2nd Edition)


  1. Distributed Systems: Concepts and Designs By George Coulouris (5th Edition)

Assessment system

Evaluation Marks Percentage
Class Participation 10 Marks 10%
Tutorial 10 Marks 10%
Assignments/Discussion/Practical 10 Marks 10%
Project 10 Marks 10%
Final Examination 60 Marks 60%