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
2024/2025
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 e segurança 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 na estrutura de recursos e funcionalidades dos sistemas distribuídos. O principal objetivo desta unidade curricular é 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
Esta unidade curricular tem os seguintes objetivos de aprendizagem: OA1. Introduzir e dar a conhecer aos estudantes os principais sistemas distribuídos através da Internet OA2. Compreender como fornecer capacidades de tolerância a falhas e resiliência aos sistemas OA3. 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 OA4. 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 unit's content dovetails with the specified learning outcomes
Os conteúdos programáticos desta unidade curricular estão alinhados com os objetivos de aprendizagem, assegurando que os alunos adquiram competências essenciais para compreender e gerenciar sistemas distribuídos de forma segura. O CP1, que aborda os fundamentos dos sistemas distribuídos, alinha-se ao OA1, fornecendo a base teórica sobre o funcionamento desses sistemas. O CP3, que explora sistemas tolerantes a falhas, corresponde ao OA2, capacitando os alunos a entender paradigmas que garantem a resiliência dos sistemas. O CP2 e o CP4 abordam arquiteturas e serviços distribuídos, alinhando-se ao OA3, permitindo que os alunos compreendam e implementem tecnologias como IoT e Cloud. O CP5 e CP6 focam nas ameaças e medidas de segurança em sistemas distribuídos, correspondendo ao OA4, capacitando os alunos a aplicar técnicas de mitigação de riscos.
Avaliação / Assessment
Avaliação ao longo do semestre: - 2 frequências (50%) - 2 atividades de laboratório (15%) - 1 projeto prático em grupo (35%) A nota mínima de aprovação associada às frequências e aos laboratórios é de 8 valores. A nota mínima de aprovação à disciplina é de 10 valores. Avaliação por Exame: Os alunos que reprovarem na avaliação ao longo do semestre ou que não tenham optado pela modalidade de avaliação ao longo do semestre podem tentar realizar a UC em exame (100%). 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 laboratório
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
As metodologias de ensino-aprendizagem estão diretamente alinhadas com os objetivos de aprendizagem da unidade curricular, garantindo que os alunos adquiram tanto o conhecimento teórico quanto as habilidades práticas necessárias para a compreensão e gestão de sistemas distribuídos. OA1 - Introdução aos sistemas distribuídos O MEA1 (aulas expositivas teórico-práticas) facilita a compreensão dos conceitos fundamentais dos sistemas distribuídos, abordados no CP1, ao proporcionar uma base teórica sólida através de exposições, demonstrações e recursos audiovisuais. OA2 - Tolerância a falhas e resiliência A metodologia MEA2 (aulas participativas) favorece a análise de casos de estudo sobre sistemas tolerantes a falhas, o que complementa o CP3 e contribui para o entendimento dos paradigmas que garantem a resiliência dos sistemas, alinhando-se ao OA2. OA3 - Arquiteturas e serviços distribuídos A metodologia MEA3 (aulas ativas) permite que os alunos realizem exercícios práticos e entregáveis do projeto de grupo em laboratório, aplicando os conceitos abordados nos conteúdos CP2 e CP4, e se aprofundando nas arquiteturas e tecnologias distribuídas, como IoT e Cloud, em consonância com o OA3. OA4 - Ameaças e segurança O MEA4 (trabalho autónomo) possibilita aos alunos desenvolverem suas competências em segurança de sistemas distribuídos, refletindo sobre as ameaças e estratégias de mitigação abordadas nos conteúdos CP5 e CP6, alinhando-se diretamente com o OA4.
Observações / Observations
Bibliografia Principal / Main Bibliography
-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. -Steen M., Tanenbaum A. (2017). Distributed Systems. CreateSpace Independent Publishing Platform. ISBN: 978-1543057386.
Bibliografia Secundária / Secondary Bibliography
-Vitillo R. (2021). Understanding Distributed Systems: What every developer should know about large distributed applications. Roberto Vitillo. ISBN: 978-1838430207. -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
2025-07-24