Apresentação

Na estrutura da Licenciatura em Engenharia Informática, esta é a primeira disciplina de Informática. Por esta razão, o primeiro grande objectivo desta disciplina é a introdução à programação de computadores.

Dos vários paradigmas de programação (imperativo, funcional, lógico e orientado a objectos) apresentados ao longo da licenciatura, nesta unidade curricular estuda-se o paradigma funcional, tendo por base a linguagem de programação Haskell.

Esta abordagem tem a vantagem de não exigir dos alunos grandes conhecimentos prévios sobre a arquitectura física dos computadores, para poderem entender e escrever programas funcionais, permitindo, por esse motivo, trabalhar mais facilmente com turmas heterogéneas em conhecimentos de informática.

A linguagem Haskell é uma linguagem puramente funcional fortemente tipada e com um sistema de tipos extremamente rico, o que permite não só ensinar os conceitos fundamentais da programação (funcional), onde se incluem tópicos tais como: tipos de dados, estruturas de controlo, e recursividade; como também ensinar conceitos avançados, como por exemplo: funções de ordem superior, polimorfismo, classes, modularidade, e monades.