Go to:
Esta página em português Ajuda Autenticar-se
Formação regular da Biblioteca |fevereiro a maio
Today is sunday
You are here: Start > EIC0036

Site map
Edifício A (Administração) Edifício B (Aulas) - Bloco I Edifício B (Aulas) - Bloco II Edifício B (Aulas) - Bloco III Edifício B (Aulas) - Bloco IV Edifício C (Biblioteca) Edifício D (CICA) Edifício E (Química) Edifício F (Minas e Metalurgia) Edifício F (Minas e Metalurgia) Edifício G (Civil) Edifício H (Civil) Edifício I (Electrotecnia) Edifício J (Electrotecnia) Edifício K (Pavilhão FCNAUP) Edifício L (Mecânica) Edifício M (Mecânica) Edifício N (Garagem) Edifício O (Cafetaria) Edifício P (Cantina) Edifício Q (Central de Gases) Edifício R (Laboratório de Engenharia do Ambiente) Edifício S (INESC) Edifício T (Torre do INEGI) Edifício U (Nave do INEGI) Edifício X (Associação de Estudantes)

Distributed Systems

Code: EIC0036     Acronym: SDIS

Classification Keyword
OFICIAL Operating Systems and Networks

Instance: 2013/2014 - 2S (of 10-02-2014 to 06-06-2014) Ícone do Moodle

Active? Yes
E-learning page: https://moodle.fe.up.pt/
Responsible unit: Department of Informatics Engineering
Course/CS Responsible: Master in Informatics and Computing Engineering

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
MIEIC 139 Syllabus since 2009/2010 3 - 6 56 162

Teaching language

Suitable for English-speaking students



One of the most important recent developments in computing is the growth of distributed applications, as witnessed by the sheer number of Web-based applications, many of them mobile.


This course unit has to main objectives:

  • give students theoretical knowledge on distributed systems so they can make correct decisions when confronted with the need to implement such a system;
  • provide students with practical knowledge so they can develop applications taking into account potential advantages of distributed environments.


Scientific: 50%; Technological: 50%


Learning outcomes and competences

Upon completing this course, the students should be able to

  • understand the fundamental concepts and the challenges associated to distributed applications
  • apply well known techniques to the design and implementation of simple distributed applications
  • analyze simple distributed solutions and evaluate their fitness to the problems they aim to solve.

Working method


Pre-requirements (prior knowledge) and co-requirements (common knowledge)

We expect that the students:

  • know how to program, preferably in an imperative language such as C/C++ or Java;
  • know and understand the fundamentals of operating systems;
  • know and understand the fundamentals of computer networking.


Introduction to distributed systems and network computing. Communication paradigms: message passing, remote procedure call.  Naming: identification and addressing. Security concepts. Synchronization. Replication and consistency. Fault tolerance. Distributed objects. Distributed file systems (Google File System, MapReduce, BigTable, Webservices and REST)

Mandatory literature

Andrew S. Tanenbaum, Maarten van Steen; Distributed systems. ISBN: 0-13-613553-6
Tanenbaum, Andrew S.; Distributed systems. ISBN: 0-13-088893-1

Complementary Bibliography

Coulouris, George; Distributed systems. ISBN: 0-201-61918-0

Teaching methods and learning activities

Theoretical classes are expository, usually complemented with transparencies. Whenever necessary, we will present some examples to make the topics easier to understand. The topics of the course follows closely the Tanenbaum and van Steen’s book. Notes and articles on the topics not covered by the bibliography, will be provided or indicated as necessary.

Theoretical-practical classes are used for problem solving. The problems that will be considered range from programming problems to distributed algorithms.In addition, the students will have to develop two small programming projects, in which they are expected to apply the concepts presented in class.


JDK 1.6


Technological sciences
Technological sciences > Technology

Evaluation Type

Distributed evaluation with final exam

Assessment Components

Designation Weight (%)
Exame 40,00
Participação presencial 10,00
Trabalho laboratorial 50,00
Total: 100,00

Amount of time allocated to each course unit

Designation Time (hours)
Estudo autónomo 72,00
Frequência das aulas 56,00
Trabalho laboratorial 34,00
Total: 162,00

Eligibility for exams

Do not exceed the absence limit and obtain a minimum of 40% in the project.

Calculation formula of final grade

0,5PP + 0,1PA + 0,4EF


PP – Projects

PA - Class participation

EF – Final exam

In order to successfully complete this course, students must have a minimum score of 40% in both PP and EF. The final grade cannot be higher than 3 points of the minimum grade of PP and FF.

Examinations or Special Assignments

Students will have to implement two distributed applications. The second application can be targeted for mobile devices, namely using the Android development platform. The final exam is designed to cover a period not to exceed two hours, and students are allowed to use a cheat sheet.

Special assessment (TE, DA, ...)

Similar to the ordinary students, except the class participation component. Therefore, the grande is obtained as follows:

0,5P + 0,5F


P – Projects

F – Final exam

Special evaluation students must contact the responsible of the course to schedule the checkpoints for the project.

Classification improvement

The exam grades can be improved by submiting to another exam, to be scheduled by the Department. To improve to  grades larger than 18, students will have to take an oral exam, which will cover both theoretical and practical aspects.

The project grade can be improved by  handing in another project, which will have to be discussed with the staff responsible for the course before being implemented.


Lectures may be taught in English, if all enrolled students agree or if some enrolled student does not know Portuguese.

The students are asked to have an honest academic behavior. The cases of abuse of trust shall be reported to the Course Director.

Recommend this page Top
Copyright 1996-2019 © Faculdade de Engenharia da Universidade do Porto  I Terms and Conditions  I Accessibility  I Index A-Z  I Guest Book
Page generated on: 2019-05-26 at 00:51:55