IPT Logotipo do IPT

Engenharia Informática

Distributed Computation

<< back to Curriculum Plan

Publication in the Diário da República: Despacho n.º 8644/2020 - 08/09/2020

5 ECTS; 3º Ano, 1º Semestre, 28,0 PL + 28,0 TP , Cód. 911943.

Lecturer
- António Manuel Rodrigues Manso (1)(2)

(1) Docente Responsável
(2) Docente que lecciona

Prerequisites
Java programming
Graphical user interfaces
Object-oriented programming
Data structures and algorithms
Computer networks

Objectives
1 - Understand the essential concepts of distributed computing and their application in different architectures
2 - Understand and apply security principles in distributed systems.
3 - Develop skills to design and develop robust, efficient and secure distributed systems

Program
1 - Distributed systems
a. Introduction to distributed systems
b. Distributed systems architectures
c. Blockchain technology: Definition, data structures and consensus protocols.

2 - Information security
a. Trusted systems and security threats
b. Security objectives: Confidentiality, Integrity and Availability
c. Design and implementation of secure systems

3 - Multitasking computing
a. Models and architecture of parallel execution systems
b. Parallelization of algorithms
c. Programming with Threads
d. Concurrent access to resources
e. Load balancing

4 - Distributed computing
a. Models and architecture of distributed systems
b. Programming with Sockets
c. Remote execution of procedures
d. Programming with services

Evaluation Methodology
Practical work 60% - Minimum of 10.0 out of 20.
Theoretical exam: 40% - minimum of 7.0 out of 20

Students who fail the practical assignments will be given a practical exam instead.

Bibliography
- Cardoso, J. (2010). Programação de Sistemas Distribuídos em Java. Lisboa: FCA
- Coulouris, G. e Dollimore, J. (2011). Distributed Systems: Concepts and Design. (Vol. 1). USA: Addison Wesley
- González, J. (2017). Java 9 Concurrency Cookbook. Oracle: PAckt
- Singhal , B. (2018). Beginning Blockchain: A Beginner's Guide to Building Blockchain Solutions . Paperback : Apress

Teaching Method
Lectures to present the syllabus.
Practical laboratory classes to solve problems and consolidate knowledge Accompanying and guiding the development of Distributed Systems projects

Software used in class
- Java Development Kit
- Bouncy Castle – Open-source cryptographic API
- Netbeans

 

 

 


<< back to Curriculum Plan
NP4552
Financiamento
KreativEu
erasmus
catedra
b-on
portugal2020
centro2020
compete2020
crusoe
fct
feder
fse
poch
portugal2030
poseur
prr
santander
republica
UE next generation
Centro 2030
Lisboa 2020
Compete 2030
co-financiado