2025
Distributed Systems
Name: Distributed Systems
Code: INF13206L
6 ECTS
Duration: 15 weeks/156 hours
Scientific Area:
Informatics
Teaching languages: Portuguese
Languages of tutoring support: Portuguese
Regime de Frequência: Presencial
Sustainable Development Goals
Learning Goals
The objective of this Course is to provide students with knowledge about Distributed Systems, at a theoretical and a practical level, giving them competencies to requirements analysis, and to design and implement software solutions with distributed architecture.
At the end of this Course, students will be able to evaluate the different communication and coordination needs among components of a Distributed System, and to choose, in a reasoned way, an approach for solving those needs.
At the end of this Course, students will be able to evaluate the different communication and coordination needs among components of a Distributed System, and to choose, in a reasoned way, an approach for solving those needs.
Contents
Introduction to Distributed Systems (DS)
concepts, examples, characteristics
Models of Interaction and Communication in DS
Centralized, decentralized, hybrid architectures
Multi-layer protocols, RPC, Multicast
Marshalling
Middleware
Distributed Objects and Remote Invocation
Java RMI, CORBA
Marshalling Case studies: RPC, Java RMI, SOAP, REST
Web Services and REST
Distributed File Systems
Name Services
Synchronization and distributed coordination
Clock Synchronization
Mutual Exclusion in Distributed Context
Algorithms for election
Replication
Fault Tolerance
Cloud Computing
Data-Intensive Computing, Map-Reduce Paradigm
concepts, examples, characteristics
Models of Interaction and Communication in DS
Centralized, decentralized, hybrid architectures
Multi-layer protocols, RPC, Multicast
Marshalling
Middleware
Distributed Objects and Remote Invocation
Java RMI, CORBA
Marshalling Case studies: RPC, Java RMI, SOAP, REST
Web Services and REST
Distributed File Systems
Name Services
Synchronization and distributed coordination
Clock Synchronization
Mutual Exclusion in Distributed Context
Algorithms for election
Replication
Fault Tolerance
Cloud Computing
Data-Intensive Computing, Map-Reduce Paradigm
Teaching Methods
The teaching methodology includes two types of classes:
lectures
laboratory classes
The lectures present the concepts of Distributed Systems and all remaining content, sequentially and gradually raising the level of abstraction.
The laboratory classes are dedicated to learning and use technologies used in implementing distributed systems. Some of these lessons are devoted to the implementation of two group projects, the first at half of the semester and the second at the end of the semester.
lectures
laboratory classes
The lectures present the concepts of Distributed Systems and all remaining content, sequentially and gradually raising the level of abstraction.
The laboratory classes are dedicated to learning and use technologies used in implementing distributed systems. Some of these lessons are devoted to the implementation of two group projects, the first at half of the semester and the second at the end of the semester.
Assessment
The assessment of this course unit comprises the following components:
a) Theoretical component: written tests ? three assessments (3 × 20%) or one final exam (60%). Students choose between continuous assessment through assessments and final assessment through an exam. All students may take the resit exam.
b) Practical component: two practical projects (2 × 20%). These project assignments include software, a report, and a presentation, on a date to be agreed upon. The practical component is mandatory in any assessment period.
Grade calculation: 0.6 × PE + 0.2 × Pr1 + 0.2 × Pr2
where PE = (WT1 + WT2 + WT3) / 3, without rounding, or the grade obtained in an exam.
Minimum grade: 8 points in all written tests and assignments.
Projects may be completed individually or in groups of two students.
Oral Examination
If it is deemed necessary to verify the extent to which the student has developed the knowledge and skills set out for the course unit, the teaching team may summon the student to an oral examination, under the terms of nr. 13 of Article 110 of the Academic Regulations of the University of Évora, with the conditions set out in the nr. 4 of Article 116 and the nr. 1 of Article 118 of the same Regulations being ensured.
When triggered, the oral examination shall carry a weighting of 60% in the final grade of the course unit, to be combined with the remaining 40% of the practical component (which includes the presentation/demonstration of the assignments).
a) Theoretical component: written tests ? three assessments (3 × 20%) or one final exam (60%). Students choose between continuous assessment through assessments and final assessment through an exam. All students may take the resit exam.
b) Practical component: two practical projects (2 × 20%). These project assignments include software, a report, and a presentation, on a date to be agreed upon. The practical component is mandatory in any assessment period.
Grade calculation: 0.6 × PE + 0.2 × Pr1 + 0.2 × Pr2
where PE = (WT1 + WT2 + WT3) / 3, without rounding, or the grade obtained in an exam.
Minimum grade: 8 points in all written tests and assignments.
Projects may be completed individually or in groups of two students.
Oral Examination
If it is deemed necessary to verify the extent to which the student has developed the knowledge and skills set out for the course unit, the teaching team may summon the student to an oral examination, under the terms of nr. 13 of Article 110 of the Academic Regulations of the University of Évora, with the conditions set out in the nr. 4 of Article 116 and the nr. 1 of Article 118 of the same Regulations being ensured.
When triggered, the oral examination shall carry a weighting of 60% in the final grade of the course unit, to be combined with the remaining 40% of the practical component (which includes the presentation/demonstration of the assignments).
Teaching Staff
- José Miguel Gomes Saias [responsible]
- Mário Jorge Costa Mourão
