Durham University
Programme and Module Handbook

Postgraduate Programme and Module Handbook 2018-2019 (archived)


Department: Computer Science


Type Open Level 4 Credits 15 Availability Available in 2018/19 Module Cap
Tied to


  • None.


  • None.

Excluded Combination of Modules

  • None.


  • The module aims to provide an introduction to the issues and technology of Distributed Systems and forms a sound basis for later work in the course. There will be a mixture of theory and practice, studying the basic ideas and experimenting with them in real systems. The assessment will involve the construction and analysis of a non-trivial distributed system.


  • Techniques covered will include several of the following: message passing, client-server, peer-to-peer, routing, distributed snapshots, clock synchronization, cryptosystems, distributed shared memory, distributed transactions.
  • Technologies covered will include several of the following: Java TCP/UDP Sockets, Java RMI, CORBA, multithreading, network architectures and protocols.
  • Theory: Time; Process coordination; Fault tolerance; Transactions; Replication; Security issues.
  • Security issues

Learning Outcomes

Subject-specific Knowledge:
  • Demonstrate a basic knowledge of the underlying concepts, technologies and algorithms relating to Distributed Systems, being able to explain the key points, and to discuss strengths and weaknesses of the technologies.
  • Demonstrate sufficient knowledge to critically analyse the design of distributed systems, in terms of the suitability of the techniques used.
Subject-specific Skills:
  • To be able to analyse, build, and modify simple components of distributed systems using modern technologies while being aware of the issues involved in building distributed systems.
Key Skills:
  • The outcomes mentioned above include elements of IT skills as well as analytical/critical thought (or problem solving).

Modes of Teaching, Learning and Assessment and how these contribute to the learning outcomes of the module

  • Lectures provides specialist subject information and the application of the theory to practical examples. Tutorials provide active engagement and feedback to the learning process.

Teaching Methods and Learning Hours

Activity Number Frequency Duration Total/Hours
Lectures 6 3 per week in weeks 1 and 2 2 hours 12
Tutorials 4 in weeks 3 and 4 2 hour 8
Preparation and Reading 130
Total 150

Summative Assessment

Component: Coursework Component Weighting: 100%
Element Length / duration Element Weighting Resit Opportunity
Programming Assignment 60%
Written Assignment maximum 5 pages of A4 40%

Formative Assessment:

Practical work and exercises with feedback given.

Attendance at all activities marked with this symbol will be monitored. Students who fail to attend these activities, or to complete the summative or formative assessment specified above, will be subject to the procedures defined in the University's General Regulation V, and may be required to leave the University