Programação Funcional
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Ciência de Computadores |
Ocorrência: 2019/2020 - 2S
Ciclos de Estudo/Cursos
Língua de trabalho
Português
Objetivos
Introdução à programação funcional usando a linguagem Haskell.
Resultados de aprendizagem e competências
No final da disciplina, o(a) aluno(a) deverá ser capaz de:
1. Definir funções usando equações com padrões;
2. Codificar algoritmos recursivos elementares sobre listas e árvores em Haskell;
3. Definir novos tipos algébricos para representar dados;
4. Compor problemas de programação usando funções de ordem superior e lazy evaluation ;
5. Provar propriedades elementares de programas usando teoria equacional e indução.
Modo de trabalho
Presencial
Programa
Expressões, valores e tipos básicos. Definições de funções simples; tipos funcionais. Execução passo-a-passo usando substituição. Tipos compostos: listas e tuplos. Algumas funções sobre listas do prelúdio-padrão. Notação de listas em compreensão. Definições recursivas. Polimorfimo paramétrico. Funções de ordem superior. Programas interactivos usando o mónada de I/O. Definição de novos tipos concretos. Estudo de um caso: árvores binárias de pesquisa. Tipos abstractos: pilhas, filas, conjuntos. Especificação usando equações e implementação usando módulos. Classes de tipos e sobrecarga de operadores. Raciocínio sobre programas usando teoria equacional e indução.
Bibliografia Obrigatória
Hutton Graham 1968-;
Programming in Haskell. ISBN: 9780521692694 pbk
Thompson Simon;
Haskell. ISBN: 978-0-201-40357-2 pbk
Bibliografia Complementar
Hudak Paul;
The Haskell school of expression. ISBN: 978-0-521-64338-2
Métodos de ensino e atividades de aprendizagem
Aulas de exposição usando quadro e projeção de slides. Aulas laboratoriais com computador.
Tipo de avaliação
Avaliação distribuída sem exame final
Componentes de Avaliação
Designação |
Peso (%) |
Exame |
100,00 |
Total: |
100,00 |
Componentes de Ocupação
Designação |
Tempo (Horas) |
Estudo autónomo |
110,00 |
Frequência das aulas |
52,00 |
Total: |
162,00 |
Obtenção de frequência
Todos os alunos poderão realizar o exame final.
Fórmula de cálculo da classificação final
A classificação final é determinada pela nota no exame final.
Avaliação especial (TE, DA, ...)
N/A
Observações
Júri da Unidade Curricular: Sandra Alves e Manuel Barbosa