This module is intended to provide an understanding of the technical issues involved in the design, analysis and evaluation of modern distributed systems and algorithms. Besides conveying the central principles involved in designing distributed systems, this module also aims to introduce the students to the main principles of distributed computing and of algorithms for distributed tasks.
Introduction to Distributed Systems (2-3 lectures)
Examples of modern and traditional distributed systems and applications
Goals and types of distributed systems
Introduction to models and algorithms for distributed systems
(LO1) An appreciation of the main principles underlying distributed systems: processes, communication, naming, synchronisation, consistency, fault tolerance, and security.
(LO2) Familiarity with some of the main paradigms in distributed systems: object-based systems, file systems, and coordination-based systems.
(LO3) Knowledge and understanding of the essential facts, concepts, principles and theories relating to Computer Science in general, and DistributedáComputing in particular.
(LO4) A sound knowledge of the criteria and mechanisms whereby traditional and distributedásystems can be critically evaluated and analysed to determine the extent to which they meet the criteria defined for their current and future development.
(LO5) An in depth understanding of the appropriate theory, practices, languages and tools that may be deployed for the specification, design, implementation and evaluation of both traditional and Internet related distributed computerásystems.
(S1) Numeracy/computational skills - Problem solving
Teaching Method 1 - Lecture
Attendance Recorded: Yes
Teaching Method 2 - Laboratory Work
Attendance Recorded: No