Revisão da noção de Programação: objectivos, dificuldades e etapas.
Uma visão global dos paradigmas de programação.
Apresentação detalhada do paradigma; panorâmica histórica das linguagens de programação imperativas.
Análise Descendente de problemas
Noção de Algoritmo: Linguagem Algorítmica em português estruturado ---introdução das diversas construções linguísticas através de problemas-exemplo típicos.
Filosofia e historial desta linguagem.
Representação da Informação: tipos de dados.
Instruções simples e estruturas de controlo em "C".
Acesso e armazenamento de informação em memória secundária: manipulação de ficheiros.
Estruturas de dados dinâmicas: apontadores, listas e árvores.
Introdução ao polimorfismo: registos variantes e apontadores para funções.
Apresentação, simulação e discussão de algoritmos.
Resolução de alguns problemas abordados no paradigma funcional já leccionado.
Adequação da recursividade ao problema a resolver.
Implementação de alguns casos matemáticos de natureza recursiva.
Resolução de problemas try-and-error.