Ficha Unidade Curricular (FUC)
Informação Geral / General Information
Carga Horária / Course Load
Á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