Distributed systems have become commonplace, with such systems providing the vast majority of services that we have come to depend on every day. This module studies a range of topics in distributed systems from a practical and theoretical perspective. Students will learn how to analyse, design and implement efficient, fault tolerant solutions to modern problems throughout a rigorous understanding of classical approaches and results.
Learning Outcomes
By the end of the module students should be able to:
Understand and design distributed algorithms.
Analyse and reason about the properties of distributed algorithms.
Understand and apply fundamental concepts in the design of dependable systems.
Analyse the dependability of systems use of qualitative and quantitative approaches.
Understand the design and implementation of synchronisation methods in distributed systems.