Um algoritmo é um método (finito) para resolver um dada problema.
O principal foco desta disciplina é a introdução à análise de algoritmos.
Esta análise é dividida em duas vertentes: correcção e complexidade.
Na vertente da análise da correcção é feita uma introdução à lógica de Hoare e apresentada uma disciplina de anotação de programas.
Na vertente de análise da complexidade de algoritmos faz-se introduz-se o modelo de complexidade assimptótica bem como a análise de algumas estratégias algoritmicas comuns.
No contexto da análise de algoritmos estudam-se alguns problemas clássicos da programação de computadores, tais como a implementação de funções parciais finitas e de grafos.