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
2022/2023
Pré-requisitos / Pre-Requisites
Conhecimentos em Fundamentos de Programação em Base de Dados e Gestão de Informação
Objetivos Gerais / Objectives
O objetivo geral desta UC é duplo: por um lado, visa fornecer os estudantes com uma visão holística e alargada das tecnologias e sistemas que permitem o desenvolvimento e a manutenção de repositórios de informação, suportados estes por sistemas de informação não relacionais e distribuídos, que lidem com tolerâncias a falhas e grandes volumes de dados. Por outro, o curso introduz o desenvolvimento de aplicações para processar Big Data com eficiência, em particular os ambiente de processamento e análise Spark, com modelo de programação MapReduce e gestão de base de dados não relacional MongoDB. Este conhecimento permite que os alunos consigam resolver os problemas enfrentados pelas empresas e instituições no processamento de grandes columes de dados, hoje e no futuro.
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 da UC os alunos deverão ser capazes de: OA1 Compreender e identificar os problemas associados ao processamento de grandes quantidades de informação OA2 Compreender os conceitos e ecosistema da Big Data OA3 Saber desenhar e concretizar soluções de armazenamento de dados em ambiente distribuído e tolerantes a falhas OA4 Saber extrair, manipular e carregar grandes quantidades de informação de frontes de dados não estruturadas OA5 Saber manipular e processar bases de dados não relacionais OA6 Compreender e saber aplicar os modelos de programação e computação distribuídos OA7 Compreender e saber aplicar técnicas para tratamento de estruturas JSON e streams de dados em tempo real OA8 Desenvolver a criatividade, inovação tecnológica, pensamento crítico OA9 Desenvolver a autoaprendizagem, revisão por pares, trabalho em equipa, expressão escrita e oral
Conteúdos Programáticos / Syllabus
C1 O conceito de Big Data, os problemas aplicáveis e o respetivo ecosistema C2 Introdução às bases de dados não relacionais e ao MongoDB C3 Arquitetura de computação para Big Data: (1) redundante e tolerante a falhas e (2) distribuída para suportar grandes volumes de dados. Exemplo da plataforma Hadoop e do seu sistema de ficheiros distribuído C4 O modelo de programação MapReduce C5 O desenho de bases de dados no MongoDB C6 A manipulação de estruturas JSON e de dados em tempo real C7 O processo de ETL ? Extract, Transform and Load aplicado a datasets com dados reais desnormalizados e desenvolvimento de aplicações de processamento de Big Data em ambientes Spark e MongoDB
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
OA1 ? {C1} OA2 - {C1} OA3 - {C3} OA4 - {C6, C7} OA5 - {C2, C5} OA6 - {C3, C4} OA7 - {C1, C2, C3, C4, C5, C6, C7} OA8 - {C1, C2, C3, C4, C5, C6, C7}
Avaliação / Assessment
UC com Avaliação Periódica, não contemplando Exame Final. Presença obrigatória em 90% de todas as atividades da UC. Pesos da avaliação: - Trabalhos lab individuais, 80% obrigatórios (25%) - Projeto lab (grupo de 2), com discussão oral individual (50%) - 2 mini-testes de resposta múltipla (25%) Se reprova na época normal (< 10 val) o aluno acede ao exame de 1º ou 2ª épocas, valendo 50% da nota, sendo obrigatória a aprovação no Projeto em grupo ou a realização de um projeto individual (50%).
Metodologias de Ensino / Teaching methodologies
Total de 150 horas: - Aulas expositivas teórico-práticas: teoria,demonstrações, apresentações audiovisuais (12 h) - Aulas participativas: análise e discussão de casos de estudo,apresentações convidadas (3 h) - Aulas ativas: realização de exercícios, dos entregáveis do projeto de grupo em lab e apresentação do projeto (21h) - Aula de apoio tutorial(1h) - Trabalho autónomo do aluno: auto-estudo com apoio Coursera, revisão da matéria dada e realização dos entregáveis do trabalho de grupo (113h)
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
É a seguinte a correspondência entre as metodologias de ensino-aprendizagem e os objetivos de aprendizagem (OA): - Aulas expositivas para apresentação oral das unidades de ensino teóricas: OA1, OA2, OA3, OA4, OA5, OA6. - Aulas participativas com análise e discussão de casos de estudo: OA1, OA3, OA4. - Aulas ativas com a realização dos entregáveis relativos ao projeto de grupo: OA1, OA2, OA3, OA4, OA5, OA6, OA7, OA8 - Autoestudo e trabalho autónomo, para consulta da bibliografia, revisão de matéria dada e realização dos entregáveis do trabalho de grupo: OA1, OA2, OA3, OA4, OA5, OA6, OA7, OA8
Observações / Observations
-
Bibliografia Principal / Main Bibliography
Advanced Analytics with Spark: Patterns for Learning from Data at Scale, Sandy Ryza et al., O'Reilly Media, 2017. Practical Data Science with Hadoop and Spark: Designing and Building Effective Analytics at Scale, Ofer Mendelevitch, Casey Stella and Douglas Eadline, Addison-wesley, 2016. NoSQL Database: New Era of Databases for Big data Analytics - Classification, Characteristics and Comparison, A B M Moniruzzaman, Syed Akhter Hossain, 2013 (https://arxiv.org/abs/1307.0191) Kumar, V. Shindgikar, P. (2018). Modern Big Data Processing with Hadoop. Ed: Packt. ISBN-13: 978-1-78712-276-5 Big Data: Algorithms, Analytics, and Applications, Kuan-Ching Li et al., Chapman and Hall/CRC, 2015.
Bibliografia Secundária / Secondary Bibliography
Chang F., Dean J., Ghemawat S,, C. Hsieh W., Wallach D., Burrows M., Chandra T., Fikes A., and Gruber, R. (2006). Bigtable: a distributed storage system for structured data. In Proceedings of the 7th USENIX Symposium on Operating Systems Design and Implementation - Volume 7 (OSDI '06). USENIX Association, USA, 15. Dean J. and Ghemawat S. (2004). MapReduce: simplified data processing on large clusters. In Proceedings of the 6th conference on Symposium on Operating Systems Design & Implementation - Volume 6 (OSDI'04). USENIX Association, USA, 10. Ghemawat S., Howard G., and Leung, S. (2003). The Google file system. SIGOPS Oper. Syst. Rev. 37, 5 (December 2003), 29?43. DOI: https://doi.org/10.1145/1165389.945450 Artigos: Learning Spark: Lightning-Fast Big Data Analysis, Holden Karau, A. Konwinski, P. Wendell and M. Zaharia, O'Reilly Media, 2015. Marinescu, D. (2018). Cloud Computing: Theory and Practice. Ed: Morgan Kaufmann. ISBN-13: 978-0-12-812810-7 Mining of Massive Datasets, A. Rajaraman, J. Ullman, 2011, Cambridge University Press.
Data da última atualização / Last Update Date
2024-02-16