Engenharia Informática

Computação Distribuída

<< voltar ao Plano Curricular

Publicação em 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.

Docente(s)
- António Manuel Rodrigues Manso (1)(2)

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

Pré-requisitos
Não Aplicável

Objetivos
1 - Compreender os conceitos essenciais de computação distribuída e a sua aplicação em diferentes arquiteturas
2 - Entender e aplicar princípios de segurança em sistemas distribuídos.
3 - Desenvolver competências para projetar e desenvolver sistemas distribuídos robustos, eficientes e seguros

Programa
1 - Sistemas distribuídos
a. Introdução aos sistemas distribuídos
b. Arquiteturas de sistemas distribuídos
c. Tecnologia Blockchain: Definição, estruturas de dados e protocolos de consenso.

2 - Segurança da informação
a. Sistemas confiáveis e ameaças à segurança
b. Objetivos da segurança: Confidencialidade, Integridade e Disponibilidade
c. Projeto e implementação de sistemas seguros

3 - Computação multitarefa
a. Modelos e arquitetura de sistemas de execução paralela
b. Paralelização de algoritmos
c. Programação com Threads
d. Acesso concorrente a recursos
e. Balanceamento de carga

4 - Computação distribuída
a. Modelos e arquitetura de sistemas distribuídos
b. Programação com Sockets
c. Execução remota de procedimentos
d. Programação com serviços

Metodologia de avaliação
Trabalhos práticos 60% - Mínimo de 10,0 valores em 20.
Exame Teórico: 40% - mínimo de 7,0 valores em 20

Aos alunos que não obtenham mínimos nos trabalhos práticos será facultado um exame prático em substituição dos mesmos.

Bibliografia
- 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

Método de Ensino
Aulas teóricas expositivas para apresentação dos conteúdos programáticos.
Aulas práticas laboratoriais para resolução de problemas e consolidação de conhecimentos Acompanhamento e orientação no desenvolvimento de projetos de Sistemas Distribuídos

Software utilizado nas aulas
- Java Development Kit
- Bouncy Castle – Open-source cryptographic API
- Netbeans

 

Aprovado em Conselho Técnico Cientifico: Aprovada na Ata nº 42/2025 de 21/05

Download da Ficha da Unidade Curricular (FUC)

 

 


<< voltar ao Plano Curricular
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