University Homepage
DRPS Homepage
DRPS Search
DRPS Contact
DRPS : Course Catalogue : School of Informatics : Informatics

Postgraduate Course: Distributed Systems (Level 11) (INFR11022)

Course Outline
SchoolSchool of Informatics CollegeCollege of Science and Engineering
Credit level (Normal year taken)SCQF Level 11 (Year 4 Undergraduate) AvailabilityAvailable to all students
SCQF Credits10 ECTS Credits5
SummaryA distributed system is broadly categorised as a collection or network of loosely coupled, autonomous computers that can communicate with each other and execute logically separate computations, though these may be related to concurrent computations on other nodes.

* The nodes are relatively loosely coupled.
* Each node is a self-contained autonomous computer with its own peripherals.
* The system can survive various categories of node and network failures.
* The nodes may execute logically separate computations, though these may be related to concurrent computations on other nodes.
* The system may be modeled as synchronous or asynchronous.

Distributed systems have become pervasive-many applications now require the cooperation of two or more computers-yet the design and implementation of such systems remain challenging and complex tasks. Difficulties arise from the concurrency of components, the lack of a global clock and the possibility of independent failure of components. Moreover designs must aim to provide inter-operability, transparency and autonomy.

The emphasis of this module is on gaining understanding of the principles and concepts that are used to design distributed systems and how network and communication facilities can be leveraged to achieve efficient distributed computing.
Course description 1. Introduction

2. Fundamental Concepts of Distributed Systems: Architecture models; communication; complexity of communication; basic algorithms.

3. Time and Global States: Clocks and concepts of time; Event ordering; Synchronization; Global states

4. Coordination: Distributed mutual exclusion; Multicast; Group communication; Byzantine problems (consensus)

5. Distribution and Operating Systems: Processes and threads; Networked OS

6. Mobile Computing: Mobility, Mobile communication and networking.

7. Distributed Algorithms.

8. Legal and social issues in distributed computing.

Relevant QAA Computing Curriculum Sections: Distributed Computer Systems
Entry Requirements (not applicable to Visiting Students)
Pre-requisites Co-requisites
Prohibited Combinations Other requirements This course is open to all Informatics students including those on joint degrees. For external students where this course is not listed in your DPT, please seek special permission from the course organiser (lecturer).

Some prior programming ability is assumed.
Information for Visiting Students
Pre-requisitesVisiting students are required to have comparable background to that assumed by the course prerequisites listed in the Degree Regulations & Programmes of Study.
If in doubt, consult the course organiser (lecturer).
High Demand Course? Yes
Course Delivery Information
Academic year 2017/18, Available to all students (SV1) Quota:  None
Course Start Semester 1
Timetable Timetable
Learning and Teaching activities (Further Info) Total Hours: 100 ( Lecture Hours 20, Summative Assessment Hours 2, Programme Level Learning and Teaching Hours 2, Directed Learning and Independent Learning Hours 76 )
Assessment (Further Info) Written Exam 75 %, Coursework 25 %, Practical Exam 0 %
Additional Information (Assessment) You should expect to spend approximately 40 hours on the coursework for this course.

If delivered in semester 1, this course will have an option for semester 1 only visiting undergraduate students, providing assessment prior to the end of the calendar year.
Feedback Not entered
Exam Information
Exam Diet Paper Name Hours & Minutes
Main Exam Diet S1 (December)2:00
Learning Outcomes
On completion of this course, the student will be able to:
  1. Develop an understanding of the principles of distributed system and be able to demonstrate this by explaining them
  2. Being able to give an account of the trade-offs which must be made when designing a distributed system, and make such trade-offs in their own designs
  3. Develop practical skills of implementation of distributed algorithms in software so that they will be able to take an algorithm description and realise it in software
  4. Being able to give an account of the theoretical models used to design distributed systems and to manipulate those models to reason about such systems
  5. Being able to design efficient algorithms for distributed computing tasks
Reading List
* George Coulouris, Jean Dollimore and Tim Kindberg, Distributed Systems: Concepts and Design, 4th edition, Addison-Wesley, 2005. (Main textbook).
* Vijay Garg, Elements of Distributed Computing, Wiley, 2002.
* Nancy A. Lynch, Distributed Algorithms, Morgan Kaufmann, 1996.
* Kurose and Ross, Computer Networking: A top-down approach, Pearson.
Additional Information
Course URL
Graduate Attributes and Skills Not entered
KeywordsNot entered
Course organiserDr Rik Sarkar
Tel: (0131 6)50 4444
Course secretaryMr Gregor Hall
Tel: (0131 6)50 5194
Help & Information
Search DPTs and Courses
Degree Programmes
Browse DPTs
Humanities and Social Science
Science and Engineering
Medicine and Veterinary Medicine
Other Information
Combined Course Timetable
Important Information