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: 2021/2022 - 2S (de 26-02-2022 a 16-07-2022) Ícone do Moodle

Ativa? Sim
Unidade Responsável: Departamento de Engenharia Eletrotécnica e de Computadores
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 27 Plano de estudos Oficial 1 - 6 42 162
Mais informaçõesA ficha foi alterada no dia 2021-07-27.

Campos alterados: Objetivos, Resultados de aprendizagem e competências, Métodos de ensino e atividades de aprendizagem, Bibliografia Complementar, Programa, Componentes de Avaliação e Ocupação, Bibliografia Obrigatória, Fórmula de cálculo da classificação final

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, tipo de processadores, gestão da memória e localização dos dados, limitações da computação paralela, tipos de paralelismo, etapas na paralelização, e modelos de programação paralela.
2. Modelos de programação paralela com dados: paralelismo de dados em GPU e multi-core, organização em threads e mapeamento em dados multi-dimensionais; modelo Map-Reduce, organização de dados com chave-valor, fases de execução, execução especulativa, relação com sistema Hadoop de ficheiros distribuídos e gestão de recursos; modelo Spark, unidade de dados resiliente e distribuída (RDD), difusão de variáveis, e modo streaming.
3. Desenvolvimento de aplicações e caracterização do seu desempenho: pesquisa (Hadoop Pig, Spark SQL) e aprendizagem (Spark mllib, deeplearning em GPU/tensorflow); debugging, medição, e tuning de tarefas, trabalhos, e passos de execução em Spark, Hadoop, e tensorflow.
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

Jules S. Damji, Brooke Wenig, Tathagata Das, Denny Lee; Learning Spark -- Lightning-Fast Big Data Analysis, 2nd Edition, O'Reilly, 2020. ISBN: 978-1492050049
David B. Kirk and Wen-mei W. Hwu; Programming Massively Parallel Processors - A Hands-on Approach, Morgan Kaufmann, 2017. ISBN: 978-0128119860

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, e informação disponível na Internet, 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 sem 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

Melhoria de classificação

A classificação da componente de frequência (Projeto) pode ser melhorada na próxima ocorrência da Unidade Curricular. A componente de teste pode ser melhorada no exame de recurso.

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-22 às 00:28:38 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias