Disciplina Curricular

Desenho e Análise de Algoritmos DAAlgo

Mestrado Bolonha em Ciência de Dados - 1_MCD 2018/19

Contextos

Grupo: 1_MCD 2018/19 > 2º Ciclo > Parte Escolar > Opcionais > 733 - MCD - Grupo 4

Período:

Grupo: 1_MCD 2018/19 > 2º Ciclo > Parte Escolar > Opcionais > 732 - MCD - Grupo 3

Período:

Peso

6.0 (para cálculo da média)

Objectivos

Esta unidade curricular objetiva desenvolver um conjunto de competências avançadas para complementar o conhecimento padrão de algoritmos e estruturas de dados. Após conclusão da unidade curricular, os alunos deverão ser conseguir: analisar a complexidade de algoritmos; saber decompor problemas para obter ganhos de desempenho; modelar problemas em diversos paradigmas; aplicar um conjunto de técnicas de desenho e análise para problemas no contexto de aplicações computacionais, como desenhar algoritmos de aproximação polinomiais para tarefas de complexidade exponencial ou desenvolver algoritmos aleatórios para resolução de tarefas.

Programa

Modelação de problemas com grafos. Algoritmos de pesquisa (pesquisa por retrocesso, pesquisa heurística) e de pertença (bloom filters, árvores prefixas, conjuntos disjuntos). Decomposição de Problemas (divide-and-conquer, algoritmos gananciosos, programação dinâmica). Programação com restrições. Algoritmos randomizados (Monte-Carlo, Las-Vegas, algoritmo de Metropolis). Elementos de Teoria da Complexidade. Algoritmos de Aproximação. Programação Probabilística.

Métodos de ensino e avaliação

Exercícios de programação com um valor de quatro créditos. Dois projetos de investigação individuais, com um valor de oito créditos cada, compreendendo a análise de um problema, e o design e implementação de uma solução. Qualquer um dos projetos poderá incluir uma apresentação. Esta unidade curricular não tem exame.

Disciplinas Execução

2024/2025 - 2 Semestre

2023/2024 - 2 Semestre

2022/2023 - 2 Semestre

2021/2022 - 2 Semestre

2020/2021 - 2º semestre

2019/2020 - 2 Semestre

2018/2019 - 2 Semestre