Show/hide contentOpenClose All
Curricular information is subject to change
The student should develop:
* An understanding of key principles of Distributed Systems Design
* The ability to specify and design a distributed system
* Core advanced programming skills in specific areas of Distributed Systems (e.g. Peer-2-peer, fault tolerant, or service oriented)
* An appreciation of the theoretical underpinnings.
While completing the course, the students will learn about a number distributed programming models, such as: socket programming, distributed objects, remote method invocation, web services (SOAP / REST), message-oriented middleware, and actor programming. Additionally, they will explore a range of distributed systems concepts, including: architectural styles (P2P, Client-Server, Monolithic Systems vs Microservices). Students will also be exposed to additional programming models, distributed applications (e.g. distributed file systems), and advanced concepts (replication systems, fault tolerance) through peer learning.
Student Effort Type | Hours |
---|---|
Lectures | 24 |
Practical | 24 |
Autonomous Student Learning | 72 |
Total | 120 |
Not applicable to this module.
Description | Timing | Component Scale | % of Final Grade | ||
---|---|---|---|---|---|
Group Project: Implement a Distributed System | Throughout the Trimester | n/a | Graded | No | 40 |
Assignment: Review Academic Paper | Week 6 | n/a | Graded | No | 20 |
Continuous Assessment: Weekly Practicals | Throughout the Trimester | n/a | Graded | No | 40 |
Resit In | Terminal Exam |
---|---|
Summer | No |
• Feedback individually to students, post-assessment
Not yet recorded.
Name | Role |
---|---|
Kalyani Yogeswaranathan | Tutor |