Na estrutura da Licenciatura em Ciências de Computação,
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 disciplina 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.