Coronavirus information for applicants and offer-holders

We understand that prospective students and offer-holders may have concerns about the ongoing coronavirus outbreak. The University is following the advice from Universities UK, Public Health England and the Foreign and Commonwealth Office.

Read our latest coronavirus information

BSc Artificial Intelligence with Industrial Experience / Course details

Year of entry: 2021

Course unit details:
Distributed Systems

Unit code COMP28112
Credit rating 10
Unit level Level 2
Teaching period(s) Semester 2
Offered by Department of Computer Science
Available as a free choice unit? No

Overview

The course unit assumes that students already have a solid understanding of the main principles of computing within a single machine, have a basic understanding of the issues related to machine communication and networking, and have a notion of what distributed computing is. The syllabus will contain topics covering the fundamentals of distributed computing, its application in modern systems and issues to be considered when designing distributed systems.  

Pre/co-requisites

Unit title Unit code Requirement type Description
Programming 2 COMP16412 Pre-Requisite Compulsory
Operating Systems COMP15212 Pre-Requisite Compulsory
Students who are not from the Department of Computer Science must have permission from both Computer Science and their home School to enrol.

Aims

To provide students with the awareness of the impact and benefits of distributed computing in their everyday interaction with modern computer technology, as well as knowledge of the fundamentals of distributed computing, and understanding of essential techniques and methods, to equip students with basic skills to further explore more advanced course units that require knowledge of distributed computing.

Learning outcomes

  • Have acquired knowledge and understanding of the main principles, techniques and methods supporting the basic functionality of distributed systems.
  • Have developed the ability to identify applications where distributed computing is used and its impact on society.
  • Have acquired knowledge and understanding of main issues to be considered when designing a distributed system.
  • Have developed the ability to understand how the main principles, techniques and methods supporting distributed computing are applied in practice in existing systems.
  • Have developed the ability to design and implement prototypical distributed computing applications using available technologies.
 

Syllabus

Introduction

Revision of the characteristics of distributed systems. Challenges. Architectural models.

Remote Invocation and Distributed Objects

Java RMI, CORBA, Web Services.

Message-Oriented middleware

Synchronous vs asynchronous messaging. Point-to-point messaging. Publish-subscribe.

Concurrency, co-ordination and distributed transactions

Ordering of events. Two-phase commit protocol. Consensus.

Caching and Replication

Security

Service-Oriented Architectures, REST and Web Services

Teaching and learning methods

Lectures

22 in total, 2 per week

Laboratories

10 hours in total, 5 2-hour sessions

Employability skills

Analytical skills
Innovation/creativity
Problem solving

Assessment methods

Method Weight
Practical skills assessment 100%

Feedback methods

Formative feedback based on assessment of different solutions to problems relevant to the module or area of weakness from previous years. Feedback is also provided by demonstrators in the laboratory.

Recommended reading

COMP28112 reading list can be found on the Department of Computer Science website for current students.

Study hours

Scheduled activity hours
Assessment written exam 2
Lectures 24
Practical classes & workshops 12
Independent study hours
Independent study 62

Teaching staff

Staff member Role
Sandra Sampaio Unit coordinator

Additional notes

Course unit materials

Links to course unit teaching materials can be found on the School of Computer Science website for current students.

Return to course details