Explore UCD

UCD Home >

COMP41720

Academic Year 2025/2026

Distributed Systems (COMP41720)

Subject:
Computer Science
College:
Science
School:
Computer Science
Level:
4 (Masters)
Credits:
5
Module Coordinator:
Assoc Professor Avishek Nag
Trimester:
Autumn
Mode of Delivery:
Blended
Internship Module:
No
How will I be graded?
Letter grades

Curricular information is subject to change.

The course aims to teach students how to design robust, scalable, and maintainable distributed architectures by understanding key principles and trade-offs.

The content covers core areas, including the challenges of distributed systems, various architectural styles, communication patterns (synchronous and asynchronous), data management complexities (replication, consistency, transactions), designing for resilience and observability, and architectural patterns like microservices. A key aspect is developing the ability to specify, design, and reason about the architecture of distributed systems. Assessment is heavily weighted towards a Group Project (60%), where students apply architectural principles, supplemented by Labs (20%) and a Research Article Review (20%)

About this Module

Learning Outcomes:

At the end of this module student will:

•Appreciate the main issues and principles associated with distributed systems from an architectural perspective.

•Understand key distributed programming models and architectural styles, focusing on their underlying principles and trade-offs.

•Be aware of current trends in distributed system design, particularly modern architectural patterns like microservices and event-driven systems.

•Develop the ability to specify, design, and reason about the architecture of a distributed system.

•Engage with theoretical concepts through the lens of practical architectural challenges.

Indicative Module Content:

The content covers approximately 12 weeks and includes key areas such as:

* Introduction & Architectural Thinking: Exploring what distributed systems are, their challenges (Concurrency, Partial Failure, Latency, Heterogeneity), why architecture matters for properties like scalability, availability, consistency, and resilience, foundational concepts like the CAP Theorem, and an introduction to Architectural Trade-off Analysis.

* Communication & Coordination Architectures: Discussing Synchronous Communication (Request/Response patterns like REST, gRPC) and Asynchronous Communication (Messaging, Publish/Subscribe), including Event-Driven Architecture.

* Data Architecture: Addressing challenges of distributed data management, Data Replication Strategies, various Consistency Models (revisiting CAP), and Distributed Transactions patterns.

* Resilience & Observability: Identifying common failure modes and introducing Resilience Patterns (Circuit Breakers, Retries, etc.) and the importance of Observability (Logging, Metrics, Distributed Tracing).

* Architectural Patterns & Trade-offs: Taking a deep dive into modern styles like Microservices and structured methodologies for Architectural Trade-off Analysis.

* Advanced Topics: Brief introduction to concepts like Cloud-Native and Serverless architectures, and Security considerations.

The module engages with theoretical concepts through practical architectural challenges. Assessment includes Labs (20%), a Research Article Review (20%), and a significant Group Project (60%) where students apply learned principles to design and implement a distributed system.

Student Effort Hours:
Student Effort Type Hours
Lectures

12

Small Group

8

Laboratories

28

Specified Learning Activities

14

Autonomous Student Learning

58

Total

120


Approaches to Teaching and Learning:
* Lab-based learning centered around a specific testbed system will be used to introduce and compare core distributed programming concepts.

* Theory and applications will be explored through review of one or more seminal papers from the area.

* Students will undertake a group project in which they will build on the basic techniques learn in the lab.

An unexpected error has occurred

 
 
This message has been automatically logged.
Requirements, Exclusions and Recommendations

Not applicable to this module.


Module Requisites and Incompatibles
Incompatibles:
COMP30220 - Distributed Systems

Additional Information:
The module is a Master's-level course focused on architectural principles. Students are expected to have a general background in software development consistent with their academic level.


 

Assessment Strategy
Description Timing Component Scale Must Pass Component % of Final Grade In Module Component Repeat Offered
Assignment(Including Essay): Labs contribute 20% to the overall assessment. These provide students with hands-on experience. Week 3, Week 5, Week 7, Week 9, Week 11 Alternative linear conversion grade scale 40% Yes
20
Yes
Assignment(Including Essay): A Research Article Review accounts for the remaining 20% of the assessment, focusing on relevant architectural challenges. Week 8 Alternative linear conversion grade scale 40% Yes
20
Yes
Group Work Assignment: There is a significant Group Project, weighted at 60%. This project requires students to apply the principles they learn to design, implement, and justify their architectural decisions. Week 12 Alternative linear conversion grade scale 40% Yes
60
Yes

Carry forward of passed components
No
 

Resit In Terminal Exam
Spring No
Please see Student Jargon Buster for more information about remediation types and timing. 

Feedback Strategy/Strategies

• Feedback individually to students, post-assessment

How will my Feedback be Delivered?

Feedback will be provided individually to students on each component of their assessment through the virtual learning environment (VLE), additional detailed feedback can be provided on case-by-case basis through email or face-to-face meetings as appropriate, depending on the available time of the lecturer.

1. Neal Ford, Mark Richards, Pramod Sadalage, and Zhamak Dehghani, "Software Architecture: The Hard Parts
Modern Trade-Off Analysis for Distributed Architectures" 978-1-492-08689-5, Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472.

2. Mark Richards and Neal Ford, "Fundamentals of Software Architecture: An Engineering Approach," 978-1-492-04345-4, Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472.

Timetabling information is displayed only for guidance purposes, relates to the current Academic Year only and is subject to change.
Autumn Practical Offering 1 Week(s) - 2, 3, 4, 5, 6, 7, 9, 10, 11, 12 Mon 16:00 - 17:50
Autumn Practical Offering 1 Week(s) - Autumn: Weeks 2-12 Tues 14:00 - 15:50
Autumn Lecture Offering 1 Week(s) - Autumn: All Weeks Wed 14:00 - 14:50
Print this page