Archive for reference only

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

Undergraduate Course: Distributed Systems (Level 10) (INFR10012)

Course Outline
SchoolSchool of Informatics CollegeCollege of Science and Engineering
Course typeStandard AvailabilityAvailable to all students
Credit level (Normal year taken)SCQF Level 10 (Year 4 Undergraduate) Credits10
Home subject areaInformatics Other subject areaNone
Course website Taught in Gaelic?No
Course descriptionA 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 is 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 experience of software platforms which underpin their development. Throughout the course examples written in Java will be used.
Entry Requirements (not applicable to Visiting Students)
Pre-requisites Co-requisites
Prohibited Combinations Students MUST NOT also be taking Distributed Systems (Level 11) (INFR11022)
Other requirements Successful completion of Year 3 of an Informatics Single or Combined Honours Degree, or equivalent by permission of the School. Familiarity with Java is essential.
Additional Costs None
Information for Visiting Students
Displayed in Visiting Students Prospectus?Yes
Course Delivery Information
Not being delivered
Summary of Intended Learning Outcomes
1 - have an understanding of the principles of distributed system and be able to demonstrate this by explaining them;
2 - be 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 - have developed 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 - have gained experience in programming within a distributed object system so that they can tackle a client, server or servant implementation based on a interface description, and be able to write interface descriptions in order to specify the objects of a distributed object system;
5 - be able to give an account of the theoretical models used to design distributed systems and to manipulate those models to reason about such systems.
6 - The course presents a large amount of material, some of it in case study form, so the students additionally develop skills of assimilation.
7 - This course will teach students the principles of distributed systems, in particular those aspects which make such systems difficult to design and develop.
Assessment Information
Written Examination 75
Assessed Assignments 25
Oral Presentations 0

The assessment consists of weekly homework assignments and programming practicals.

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.
Special Arrangements
Additional Information
Academic description Not entered
Syllabus 1. Introduction
2. Fundamental Concepts of Distributed Systems: Architecture models; network architectures: OSI, Internet and LANs; interprocess communication
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: Protection mechanisms; Processes and threads; Networked OS; Distributed and Network File Systems (NFSs)
6. Middleware: Middleware; Distributed object models; Remote invocation; CORBA; Name and directory services
7. Security: Security concepts; Cryptographic algorithms; Digital signatures; Authentication; Secure Sockets

Relevant QAA Computing Curriculum Sections: Distributed Computer Systems
Transferable skills Not entered
Reading list * George Coulouris, Jean Dollimore and Tim Kindberg, Distributed Systems: Concepts and Design, 4th edition, Addison-Wesley, 2005. (Main textbook).
* Andrew S. Tanenbaum and Maarten Van Steen, Distributed Systems: Principles and Paradigms, Prentice Hall, September 2001.
* Nancy A. Lynch, Distributed Algorithms, Morgan Kaufmann, 1996.
Study Abroad Not entered
Study Pattern Lectures 20
Tutorials 0
Timetabled Laboratories 0
Non-timetabled assessed assignments 40
Private Study/Other 40
Total 100
KeywordsNot entered
Course organiserDr Mary Cryan
Tel: (0131 6)50 5153
Course secretaryMiss Kate Farrow
Tel: (0131 6)50 2706
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
© Copyright 2013 The University of Edinburgh - 13 January 2014 4:27 am