Computação II
Objectivos
- Computer programming skills
- Knowledge of probability
- Basic knowledge in discrete mathematics
Caracterização geral
Código
100027
Créditos
7.0
Professor responsável
Mauro Castelli
Horas
Semanais - A disponibilizar brevemente
Totais - A disponibilizar brevemente
Idioma de ensino
Português. No caso de existirem alunos de Erasmus, as aulas serão leccionadas em Inglês
Pré-requisitos
Estratégias básicas de design de algoritmos: design "top-down", dividir e conquistar, critérios de caso médio e caso pior, custos assintóticos.
Relações de recorrência simples para custos assintóticos.
Escolha de estruturas de dados apropriadas: arrays, listas, pilhas, filas, árvores, filas de prioridade, árvores.
Aplicações para pesquisa, ordenar e problemas com árvore.
Introdução a algoritmos discretos de otimização: programação dinâmica, algoritmos "greedy".
Bibliografia
Cormen, Thomas, Charles Leiserson, et al. Introduction to Algorithms. 3rd ed. MIT Press, 2009. ISBN: 9780262033848
Método de ensino
First epoch: 50% test and 50% project.
Second epoch: 70% test and 30% project (the same of the first epoch).
The project is mandatory.
Minimum grade of 8 required in both the test and the project.
Método de avaliação
English
Conteúdo
- Aula teórica onde o professor apresentará os métodos formais necessários para analisar e construir algoritmos eficientes.
- Aulas práticas onde os estudantes terão a oportunidade de testar o desempenho de diferentes algoritmos para resolver um conjunto de tarefas.
Cursos
Cursos onde a unidade curricular é leccionada: