- UCAS course code
- G400
- UCAS institution code
- M20
Course unit details:
Distributed Systems
Unit code | COMP28112 |
---|---|
Credit rating | 10 |
Unit level | Level 2 |
Teaching period(s) | Semester 2 |
Available as a free choice unit? | Yes |
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 |
---|---|---|---|
Introduction to Programming 2 | COMP16412 | Pre-Requisite | Compulsory |
Operating Systems | COMP15212 | Pre-Requisite | Compulsory |
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/workshops delivered in the classroom (lecture notes to be made available to students via Blackboard).
Laboratory sessions (setting, submission and marking (and feedback) of practical material to be made via Blackboard).
Individual self-study hours.
On-line exam with duration of two hours
Employability skills
- Analytical skills
- Innovation/creativity
- Problem solving
Assessment methods
Method | Weight |
---|---|
Written exam | 50% |
Practical skills assessment | 50% |
Feedback methods
Three weeks following submission of each piece of work.
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 | 10 |
Independent study hours | |
---|---|
Independent study | 64 |
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.