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