Saltar para:
Logótipo
Você está em: Início > CC1005
Mapa das Instalações
FC6 - Departamento de Ciência de Computadores FC5 - Edifício Central FC4 - Departamento de Biologia FC3 - Departamento de Física e Astronomia e Departamento GAOT FC2 - Departamento de Química e Bioquímica FC1 - Departamento de Matemática

Programação Funcional

Código: CC1005     Sigla: CC1005     Nível: 100

Áreas Científicas
Classificação Área Científica
OFICIAL Ciência de Computadores

Ocorrência: 2019/2020 - 2S

Ativa? Sim
Página Web: http://www.dcc.fc.up.pt/~sandra/Home/PF1920.html
Unidade Responsável: Departamento de Ciência de Computadores
Curso/CE Responsável: Licenciatura em Ciência de Computadores

Ciclos de Estudo/Cursos

Sigla Nº de Estudantes Plano de Estudos Anos Curriculares Créditos UCN Créditos ECTS Horas de Contacto Horas Totais
L:B 0 Plano de Estudos Oficial 3 - 6 56 162
L:CC 89 Plano de estudos a partir de 2014 1 - 6 56 162
L:F 2 Plano de Estudos Oficial 2 - 6 56 162
3
L:G 7 Plano estudos a partir do ano letivo 2017/18 2 - 6 56 162
3
L:M 9 Plano de Estudos Oficial 2 - 6 56 162
3
L:Q 4 Plano estudos a partir do ano letivo 2016/17 3 - 6 56 162
MI:ERS 121 Plano Oficial desde ano letivo 2014 1 - 6 56 162
Mais informaçõesA ficha foi alterada no dia 2020-03-15.

Campos alterados: Fórmula de cálculo da classificação final, Componentes de Avaliação e Ocupação, Obtenção de frequência

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
Recomendar Página Voltar ao Topo
Copyright 1996-2024 © Faculdade de Ciências da Universidade do Porto  I Termos e Condições  I Acessibilidade  I Índice A-Z  I Livro de Visitas
Página gerada em: 2024-07-28 às 01:22:01 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias