Programação Funcional
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Ciência de Computadores |
Ocorrência: 2011/2012 - 2S
Ciclos de Estudo/Cursos
Língua de trabalho
Português
Objetivos
Introdução à programação funcional usando a linguagem Haskell. 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. Decompor 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
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. 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 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
000097840. ISBN: 9780521692694
Bibliografia Complementar
000001475. ISBN: 0-13-484197-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 com exame final
Componentes de Avaliação
Descrição |
Tipo |
Tempo (Horas) |
Peso (%) |
Data Conclusão |
Participação presencial (estimativa) |
Participação presencial |
70,00 |
|
|
|
Total: |
- |
0,00 |
|
Obtenção de frequência
Presença em 3/4 das aulas práticas.
Fórmula de cálculo da classificação final
Os alunos poderão obter classificação final como média de dois testes realizados durante o semestre ou por exame final.
Provas e trabalhos especiais
Dois testes realizados durante o horário de aulas.
Avaliação especial (TE, DA, ...)
N/A
Melhoria de classificação
Os alunos podem fazer melhoria de classificação obtida nos testes apenas na época de recurso.