Saltar para:
Logótipo
Você está em: Início > MECD07

Engenharia de Grandes Dados

Código: MECD07     Sigla: EGD

Áreas Científicas
Classificação Área Científica
CNAEF Informática

Ocorrência: 2024/2025 - 2S Ícone do Moodle

Ativa? Sim
Unidade Responsável: Departamento de Engenharia Informática
Curso/CE Responsável: Mestrado em Engenharia e Ciência de Dados

Ciclos de Estudo/Cursos

Sigla Nº de Estudantes Plano de Estudos Anos Curriculares Créditos UCN Créditos ECTS Horas de Contacto Horas Totais
MECD 26 Plano de estudos Oficial 1 - 6 42 162
M.EGI 30 Plano de estudos oficial 1 - 6 42 162

Docência - Responsabilidades

Docente Responsabilidade
Jorge Manuel Gomes Barbosa Regente

Docência - Horas

Teórico-Práticas: 3,00
Tipo Docente Turmas Horas
Teórico-Práticas Totais 2 6,00
Jorge Manuel Gomes Barbosa 6,00

Língua de trabalho

Português - Suitable for English-speaking students

Objetivos

A extração de informação a partir de grandes conjuntos de dados -- chamados “big data” -- tem sido o motor de várias empresas grandes e pequenas nos últimos anos e impõe um conjunto de desafios próprios, que esta UC aborda. O objetivo desta UC é dar a conhecer ao estudante os principais paradigmas, desafios, e abordagens de desenvolvimento de sistemas e aplicações big data.

Resultados de aprendizagem e competências

No final desta unidade curricular, o estudante deverá:
1) conseguir distinguir os diferentes conceitos que suportam a computação paralela e distribuída incluindo o processamento de dados;
2) compreender as arquiteturas e sistemas de armazenamento e processamento existentes para grandes conjuntos de dados;
3) conseguir desenvolver aplicações sobre grandes dados, nomeadamente de pesquisa de dados e de aprendizagem a partir de dados, e caracterizar o seu desempenho;
4) conseguir identificar e discutir desafios ao desenvolvimento e uso de aplicações e modelos big data.

Modo de trabalho

Presencial

Pré-requisitos (conhecimentos prévios) e co-requisitos (conhecimentos simultâneos)

Programação; aprendizagem de dados.

Programa

1. Conceitos fundamentais da computação paralela: medidas de desempenho, gestão da memória e localização dos dados, limitações da computação paralela e modelos de programação paralela.
2. Modelos de programação paralela com dados: paralelismo de dados; modelo Map-Reduce; organização de dados com chave-valor; relação com sistema Hadoop de ficheiros distribuídos e gestão de recursos;  modelo Spark, unidade de dados resiliente e distribuída (RDD), ações e transformações, fluxo de processamento com DAGs e difusão de variáveis.
3. Desenvolvimento de aplicações e caracterização do seu desempenho: pesquisa (Spark SQL) e aprendizagem (Spark mllib); debugging, medição, e tuning de tarefas, trabalhos, e passos de execução em Spark.
4. Desafios ao desenvolvimento de aplicações e modelos big data, incluindo privacidade e anonimização dos dados, interpretação de resultados de aprendizagem, viés (bias), e vulnerabilidades

Bibliografia Obrigatória

Hien Luu; Beginning Apache Spark 3, Apress, 2021. ISBN: 978-1-4842-7382-1
Jules S. Damji, Brooke Wenig, Tathagata Das, Denny Lee; Learning Spark -- Lightning-Fast Big Data Analysis, 2nd Edition, O'Reilly, 2020. ISBN: 978-1492050049

Bibliografia Complementar

Tom White; Hadoop: The Definitive Guide: Storage and Analysis at Internet Scale 4th Edition, O'Reilly, 2015. ISBN: 978-1491901632
Tomcy John, Pankaj Misra; Data Lake for Enterprises: Lambda Architecture for building enterprise data systems, Packt Publishing, 2017. ISBN: 978-1787281349

Métodos de ensino e atividades de aprendizagem

1. Exploração dos conceitos de programação paralela com dados, modelos de programação e arquitetura de sistemas “big data”, e aplicações, através de: a) exposição em sala de aula, b) pesquisa autónoma de artigos científicos, casos de estudo; c) técnica de flipped classroom (sala de aula invertida) com auto-aprendizagem dos conteúdos disponibilizados previamente e discussão dos conceitos em sala de aula.
2. Exploração autónoma, apresentação, e discussão de artigos científicos.
3. Projeto incluindo especificação, desenvolvimento, teste, e caracterização de desempenho de aplicações “big data” recorrendo às tecnologias e conceitos discutidos na UC.

Tipo de avaliação

Avaliação distribuída com exame final

Componentes de Avaliação

Designação Peso (%)
Exame 50,00
Trabalho prático ou de projeto 50,00
Total: 100,00

Componentes de Ocupação

Designação Tempo (Horas)
Elaboração de projeto 60,00
Estudo autónomo 60,00
Frequência das aulas 42,00
Total: 162,00

Obtenção de frequência

Realizar o projeto e frequentar as aulas.

Fórmula de cálculo da classificação final

CF = 0,5*T + 0,5*P; if ( T < 10,0 or P < 10,0 ) then CF =MIN(CF, 9.0)
T - test
P - project

Avaliação especial (TE, DA, ...)

A avaliação distribuída, realizada durante o semestre de funcionamento da unidade curricular , é exigida a todos os alunos, independentemente do regime de inscrição. Os estudantes que não frequentam regularmente a unidade curricular fazem as entregas dos trabalhos e apresentações nas épocas previstas e devem tomar a iniciativa de acordar, com o docente, reuniões específicas para acompanhamento dos trabalhos práticos.

Melhoria de classificação

A melhoria de classificação será efectuada através de prova individual única com duas componentes: 1. exame de recurso; 2. Uma componente adicional que permita avaliar as competências avaliadas através do trabalho desenvolvido na avaliação distribuída. A melhoria de classificação pode ser efetuada na época de recurso dessa edição ou da edição seguinte.

Recomendar Página Voltar ao Topo
Copyright 1996-2025 © Faculdade de Engenharia da Universidade do Porto  I Termos e Condições  I Acessibilidade  I Índice A-Z  I Livro de Visitas
Página gerada em: 2025-06-16 às 04:27:29 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias