Material Pedagógico
O material de apoio às aulas desta disciplina irá sendo disponibilizado nesta página à medida que as aulas forem progredindo.
Vídeos das aulas teóricas
Os vídeos das aulas teóricas estão disponíveis no servidor do DIUM, neste
endereço
Os alunos podem ver os vídeos no horário das aulas T ou antes (preferencialmente!). No horário das aulas T o docente estará on-line, no canal #geral do slack CP1920@UM, para responder às questões e dúvidas que haja.
Compilar-se-ão nas FAQs do
Atendimento o que for mais relevante.
Fichas das aulas práticas
Enunciados das provas de avaliação
Data | Hora | Local | Descrição | Enunciado |
13-Jun | 10h/13h | on-line (BBC) | Teste individual | PDF (uma das versões) |
18-Jul | 10h/13h | on-line (BBC) | Exame de recurso | PDF (uma das versões) |
8-Set | 14h/16h | ED2-B2 | Exame da época especial | PDF |
Enunciado do trabalho prático
O
material para realização do
TP desta disciplina consta de um
enunciado (
cp1920t.pdf) e de um zip (
cp1920t.zip) contendo a respectiva fonte (ficheiro cp1920t.lhs) + outros ficheiros auxiliares.
A data de entrega é
17 de Junho (

nova data). Oportunamente serão dadas informações sobre o processo de submissão dos trabalhos.
Bibliotecas de Software (em Haskell)
- St.hs contendo uma versão simplificada do mónade de estado.
- BTree.hs - biblioteca para o tipo de dados árvores binárias - data BTree a = Empty | Node(a, (BTree a, BTree a)), e aplicações suas (e.g. torres de Hanói, `quick-sort', etc).
- LTree.hs - biblioteca contendo os cata/ana/hilomorfismos do tipo de dados árvores binárias de folhas - LTree a = Leaf a | Fork (LTree a, LTree a) e aplicações suas (e.g. Fibonacci, duplo factorial, `merge-sort', etc).
- List.hs - biblioteca geral para listas em Haskell, contendo combinadores (e.g. catamorfismos) e exemplos de utilização.
- SList.hs - biblioteca geral para listas com sentinela em Haskell, contendo combinadores (e.g. ana-cata-hilo) e exemplos de utilização.
- Nat.hs - biblioteca de naturais (combinador ciclo-for, etc).
- Cp.hs - contendo os combinadores de base do cálculo de programas, e.g. split, ><, -|- etc.
Outro material
Transparentes
"Links"
-- JoseNunoOliveira - 05 Feb 2020