Informação adicional: https://moodle.fct.unl.pt/course/view.php?name=AED1718
Introdução dos conceitos fundamentais de algoritmos e das estruturas de dados básicas, como ferramentas essenciais para resolver problemas de forma eficiente.
Dois hábitos são particularmente exercitados: analisar a eficiência de um algoritmo antes de o implementar e separar o tipo abstracto de dados das estruturas de dados que o implementam.
Saber
1.Complexidade assintótica, temporal e espacial.
2.Tipos abstratos de dados e estruturas de dados fundamentais.
3.Sistematizar a utilização das estruturas de dados na resolução de categorias de problemas reais.
4.Técnicas fundamentais de desenho de algoritmos (divisão e conquista e função-memória).
5.Algoritmos de ordenação e suas condições de aplicação.
Saber Fazer
6.Calcular a complexidade de algoritmos polinomiais ou exponenciais, iterativos ou recursivos.
7.Modelar programas usando tipos abstratos de dados.
8.Escolher, comparar, adaptar e utilizar estruturas de dados adequadas ao problema.
9.Implementar estruturas de dados, em particular, recorrendo a gestão dinâmica de memória.
10.Implementar algoritmos recursivos polinomiais.
Competências Complementares
11.Efetuar escolhas fundamentadas.
12.Concretização na implementação de um projeto.
13.Avaliar soluções.
14.Gestão do tempo.
15.Comunicação escrita: relatório de projeto da disciplina.
16.Comunicação oral: discussão do projeto da disciplina.
Introdução à Análise de Algoritmos
B.Introdução à Recursividade
C.Tipos Abstratos de Dados
D.Estruturas de Dados
E.Algoritmos de Ordenação
Referências Principais
Referência Mais Elementar
Referência Mais Avançada
Os alunos deverão ter realizado as unidades curriculares de Introdução à Programação e de Programação Orientada pelos Objectos.
Os alunos deverão ter:
Horas por crédito | 28 | ||
Horas p/ semana | Semanas | Horas | |
Aulas práticas e laboratoriais | 26.0 | ||
Aulas teóricas | 42.0 | ||
Avaliação | 4.0 | ||
Estudo | 42.0 | ||
Orientação tutorial | 3.0 | ||
Projectos e trabalhos | 130.0 | ||
Total de Horas | 247 | ||
ECTS | 9.0 |