Cálculo de Programas - 2º Semestre do 2º Ano da Licenciatura em Ciências da Computação - Projeto
\CP\ tem como objectivo principal ensinar a programação de computadores como uma disciplina científica. Para isso parte-se de um repertório de \emph{combinadores} que formam uma álgebra da programação (conjunto de leis universais e seus corolários) e usam-se esses combinadores para construir programas \emph{composicionalmente}, isto é, agregando programas já existentes.
Na sequência pedagógica dos planos de estudo dos dois cursos que têm esta disciplina, opta-se pela aplicação deste método à programação em \Haskell\ (sem prejuízo da sua aplicação a outras linguagens funcionais). Assim, o presente trabalho prático coloca os alunos perante problemas concretos que deverão ser implementados em \Haskell. Há ainda um outro objectivo: o de ensinar a documentar programas, a validá-los e a produzir textos técnico-científicos de qualidade.