This is an archived syllabus from 2020-2021
COMP28112 Distributed Systems syllabus 2020-2021
COMP28112 Distributed Systems
Level 2
Credits: 10
Enrolled students: 207
Course leader: Sandra Sampaio
Additional staff: view all staff
Requisites
- Pre-Requisite (Compulsory): COMP16412
- Pre-Requisite (Compulsory): COMP15212
Additional requirements
- Students who are not from the Department of Computer Science must have permission from both Computer Science and their home School to enrol.
Assessment methods
- 100% Practical skills assessment
Semester | Event | Location | Day | Time | Group |
---|---|---|---|---|---|
Sem 2 | ONLINE ACTIVITY | Thu | 13:00 - 14:00 | - | |
Sem 2 B | ONLINE LabORATORY | Fri | 11:00 - 13:00 | F | |
Sem 2 B | ONLINE LabORATORY | Mon | 14:00 - 16:00 | G | |
Sem 2 B | ONLINE LabORATORY | Mon | 16:00 - 18:00 | H |
- Web and Distributed Systems
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.
This course unit detail provides the framework for delivery in 20/21 and may be subject to change due to any additional Covid-19 impact. Please see Blackboard / course unit related emails for any further updates.
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.
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 methods
Lectures
22 in total, 2 per week
Laboratories
10 hours in total, 5 2-hour sessions
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.Study hours
- Assessment written exam (2 hours)
- Lectures (24 hours)
- Practical classes & workshops (12 hours)
Employability skills
- Analytical skills
- Innovation/creativity
- Problem solving
Learning outcomes
On successful completion of this unit, a student will be able to:
- 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.
Reading list
Title | Author | ISBN | Publisher | Year |
---|---|---|---|---|
Distributed systems : concepts and design | Coulouris, George F., author. | 9781447930174 | Pearson Education Limited | 2012 |
Distributed systems | Steen, Maarten van, author. | 9781543057386 | Maarten van Steen | 2017 |
Additional notes
Course unit materials
Links to course unit teaching materials can be found on the School of Computer Science website for current students.