Ficha Unidade Curricular (FUC)

Informação Geral / General Information


Código :
04387
Acrónimo :
04387
Ciclo :
1.º ciclo
Línguas de Ensino :
Português (pt)
Língua(s) amigável(eis) :
Inglês, Português

Carga Horária / Course Load


Semestre :
2
Créditos ECTS :
6.0
Aula Teórica (T) :
18.0h/sem
Aula Teórico-Prática (TP) :
18.0h/sem
Aula Prática e Laboratorial (PL) :
0.0h/sem
Trabalho de Campo (TC) :
0.0h/sem
Seminario (S) :
0.0h/sem
Estágio (E) :
0.0h/sem
Orientação Tutorial (OT) :
1.0h/sem
Outras (O) :
0.0h/sem
Horas de Contacto :
37.0h/sem
Trabalho Autónomo :
113.0
Horas de Trabalho Total :
150.0h/sem

Área científica / Scientific area


480 - Informática

Departamento / Department


Departamento de Tecnologias Digitais

Ano letivo / Execution Year


2023/2024

Pré-requisitos / Pre-Requisites


Não existem nenhuns requisitos específicos para a frequência desta UC, embora seja aconselhável que os alunos tenham alguns conhecimentos em algoritmia e estrutura de dados e de comunicação em redes de computadores.

Objetivos Gerais / Objectives


Um sistema distribuído é tipicamente a composição de recursos dispersos (de computação como de comunicação) e consequentemente têm que lidar com ameaças que surgem da exploração de vulnerabilidades nas superfícies de ataque na estrutura de recursos e funcionalidades dos sistemas distribuídos. O principal objetivo desta unidade curricular é o de dar a conhecer um conjunto de sistemas distribuídos através da Internet e o seu funcionamento, bem como as principais ameaças de cibersegurança que os mesmos devem enfrentar, assim como algumas medidas de mitigação para as mesmas.

Objetivos de Aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes) / Learning outcomes


No final desta UC, o aluno deverá estar apto a: OA1. Introduzir e dar a conhecer aos estudantes os principais sistemas distribuídos através da Internet OA2. Dar a conhecer aos alunos um conjunto de arquiteturas e serviços distribuídos bem como a sua implementação: aplicações e serviços web, serviços de mensagens, aplicações móveis, IoT, Cloud e Distributed Ledger Technologies OA3. Perceber as principais ameaças e desafios de segurança dos mesmos e possíveis mitigações.

Conteúdos Programáticos / Syllabus


CP1. Introdução aos Sistemas Distribuídos: fundamentos e principais paradigmas CP2. Modelos e Plataformas de Computação Distribuída CP3. Fundamentos de Sistemas Tolerantes a Falhas: Principais Paradigmas, Modelos e Plataformas de Sistemas Confiáveis CP4. Sistemas Distribuídos em Tempo Real: Principais modelos e Plataformas CP5. Principais Ameaças, Vulnerabilidades e Ataques de Segurança em Sistemas Distribuídos CP6. Modelos e Medidas de Segurança em Sistemas Distribuídos

Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da UC / Evidence that the curricular units content dovetails with the specified learning outcomes


A demonstração de coerência decorre da interligação dos conteúdos programáticos com os objetivos de aprendizagem (OA), como a seguir se explicita: OA1: CP1, CP2 OA2: CP2, CP3, CP4 OA3: CP5, CP6

Avaliação / Assessment


Avaliação Periódica: - 2 frequências (50%) - 3 atividades de laboratório (15%) - 1 projeto prático em grupo (35%) A nota mínima de aprovação associada às frequências é de 8 valores. Tal facto implica que os alunos devam ter nota positiva no trabalho de grupo bem como nas atividades de laboratório (ou seja, superior a 11 valores). Avaliação por Exame: Os alunos que reprovarem na avaliação periódica podem tentar realizar a UC em exame. Independentemete da forma de avaliação a que o aluno se submeta, a nota mínima de aprovação à disciplina é de 10 valores.

Metodologias de Ensino / Teaching methodologies


Serão utilizadas as seguintes metodologias de ensino-aprendizagem (MEA): MEA1 Aulas expositivas teórico-práticas:teoria,demos,audiovisuais MEA2 Aulas participativas:análise e discussão de casos de estudo MEA3 Aulas ativas:realização de exercícios/entregáveis do projeto de grupo em lab/apresentações, usando ferramentas do estado-da-arte MEA4 Trabalho autónomo por parte do aluno: auto-estudo,revisões,realização dos entregáveis do trabalho de grupo em lab

Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da UC / Evidence that the teaching and assessment methodologies are appropriate for the learning outcomes


Principais interligações entre as metodologias de ensino-aprendizagem (MEA) e os respetivos objetivos (OA): OA1: MEA1, MEA2, MEA4 OA2: MEA1, MEA2, MEA3, MEA4 OA3: MEA1, MEA2, MEA3, MEA4

Observações / Observations


Bibliografia Principal / Main Bibliography


-Steen M., Tanenbaum A. (2017). Distributed Systems. CreateSpace Independent Publishing Platform. ISBN: 978-1543057386. -Vitillo R. (2021). Understanding Distributed Systems: What every developer should know about large distributed applications. Roberto Vitillo. ISBN: 978-1838430207. -Oprea, A. et al. (2020) Building secure and reliable systems: Best practices for designing, implementing, and maintaining systems. Sebastopol, CA: O’Reilly Media. ISBN: 978-1492083122. -Anderson, R. (2021) Security engineering: A guide to building dependable distributed systems. New York: Wiley. ISBN: 978-1119642787.

Bibliografia Secundária / Secondary Bibliography


-Pierfederici, F. (2016) Distributed computing with python: Harness the power of multiple computers using python through this fast-paced informative guide. Birmingham, UK: Packt Publishing Limited. -Kathiravelu, P. and Faruque, S.M.O. (2017) Python Network Programming Cookbook: Overcome Real-world networking challenges. Birmingham, U.K.: Packt Publishing.

Data da última atualização / Last Update Date


2024-02-16