Introdução: Noção de algoritmo, correccção e complexidade.
Correcção: Introdução à Lógica de Floyd-Hoare. Anotação de Programas
Complexidade: Modelo da complexidade assimptótica.
Estruturas de Dados: Hash, Lineares (stack e Queue), hierárquicas (árvores, heaps, árvores-B), Grafos
Estratégias algorítmicas: incremental, greedy, programação dinâmica