Skip to navigation | Skip to main content | Skip to footer

COMP10052: Fundamentals of Distributed Systems (2009-2010)

This is an archived syllabus from 2009-2010

Fundamentals of Distributed Systems
Level: 1
Credit rating: 10
Pre-requisites: No Pre-requisites
Co-requisites: No Co-requisites
Lecturers: Barry Cheetham, Alvaro A. A. Fernandes, Stephen Pettifer
Course lecturers: Barry Cheetham

Alvaro A. A. Fernandes

Stephen Pettifer

Additional staff: view all staff
Sem 2 w19-26,30-33 Lecture 1.1 Wed 09:00 - 10:00 -
Sem 2 w19-26,30-33 Lecture 1.1 Mon 10:00 - 11:00 -
Sem 2 w20,22,24,26,31,33 Examples LF15 Tue 13:00 - 14:00 D+Y
Sem 2 w20,22,24,26,31,33 Examples LF15 Mon 13:00 - 14:00 A+Z
Sem 2 w20,22,24,26,31,33 Examples LF15 Thu 14:00 - 15:00 M+W
Sem 2 w20,22,24,26,31,33 Examples IT407 Fri 15:00 - 16:00 C+X
Sem 2 w21,23,25,30,32 Lab G23 Mon 13:00 - 15:00 A+Z
Sem 2 w21,23,25,30,32 Lab G23 Tue 13:00 - 15:00 D+Y
Sem 2 w21,23,25,30,32 Lab G23 Thu 13:00 - 15:00 M+W
Sem 2 w21,23,25,30,32 Lab G23 Tue 15:00 - 17:00 C+X
Assessment Breakdown
Exam: 75%
Coursework: 0%
Lab: 25%
Degrees for which this unit is core
  • Artificial Intelligence BSc (Hons)


Distributed systems take many forms, and many of the best known and most widely used computer systems are as prevalent as they are because of their distributed nature. This course unit introduces some of the essential concepts underlying distributed systems.

Students are guided into an exploration of exemplar distributed applications (such as the web, email, internet telephony and multi-user gaming ) and, through these exemplars, are introduced to the basic concepts that underpin modern distributed computing.

Recurring themes will include how distributed systems offer transparencies of various kinds and how they must contend with a range of complex issues to achieve that.


This course unit aims to provide students with a basic understanding of distributed computing, drawing on their general experience as users of distributed applications to inform the discovery, description and classification of fundamental concepts in distributed systems.

This course unit builds on the knowledge gained by the students in the COMP10900: First Year Team Project course unit and aims to equip them better to benefit the most from more technically-demanding course units in second and third years (in particular, the course units on Computer Networks, Distributed Computing and Mobile Systems).

After a brief introduction that contrasts the distributed view of computing with the centralized one presented in other course units, the course unit progresses by studying a few exemplar distributed applications, one by one. Each exemplar application is chosen with a view to illustrating issues and challenges arising in distributed systems.

After each dissection of an exemplar application, time is taken to make explicit, in a more systematic way, some of the basic principles involved, how tools and techniques have been developed that enforce those principles, and how these tools and techniques both give rise and presuppose the distributed computing infrastructures that pervade
modern computing.

Learning Outcomes

On successful completion of this course, a student will:

1. Understand the contrasting features between the distributed view of computing with the centralized one.

2. Understand in detail how a few exemplar distributed applications work:

what requirements they aim to satisfy
what issues and challenges they must contend with
what architecture they exhibit
what techniques and infrastructures they are built upon

3. Acquire practical skills in analysing distributed applications

4. Acquire practical skills in discovering, describing and classifying some of the fundamental concepts in distributed systems

Assessment of Learning outcomes

Learning outcomes (1)-(4) are assessed by examination.

Learning outcomes (3) and (4) are also assessed in the laboratory.

Contribution to Programme Learning Outcomes

A2, B3


Introduction to Distributed Systems [2]
Fundamental Issues
Basic Models
Basic Challenges
Exemplars (1): Web and Email
Dissection [4]
General Lessons [1]
Exemplars (2): Internet Telephony
Dissection [4]
General Lessons [1]
Exemplars (3): Multi-User Gaming
Dissection [4]
General Lessons [1]
Distributed Systems Beyond the Internet
Inherently-Distributed Applications [1]
DC for Higher Turnaround [1] (Parallelism, High-Performance Computing, Cluster-Based Scheme)
DC for Reliability/Availability [1] (Peer-to-Peer Schemes)
DC so that Whole > Sum(Parts) [1] (Web Service Composition, Workflows)
Conclusion: A Look Into the Future [1]

Reading List

There are no books that cover the syllabus exactly. This book

Distributed Systems. Principles and Paradigms (2nd ed)
Andrew S. Tanenbaum and Maarten Van Steen
Pearson / Prentice Hall
ISBN: 0-13-239227-5

is used in the second-year Distributed Computing course unit but it is far too advanced for COMP10052. Nonetheless, in the COMP10052 website (see link above) there's some information linking topics and lectures in COMP10052 to sections and places in the Tanenbaum-van Steen book where a more advanced treatment is provided.