Saltar para:
Logótipo
Você está em: Início > CC116
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: CC116     Sigla: CC116

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

Ocorrência: 2011/2012 - 2S

Ativa? Sim
Página Web: http://www.dcc.fc.up.pt/~pbv/aulas/pf
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:AST 1 Plano de Estudos a partir de 2008 1 - 7,5 70 202,5
L:CC 70 Plano de estudos de 2008 até 2013/14 1 - 7,5 70 202,5
MI:ERS 137 Plano de Estudos a partir de 2007 1 - 7,5 70 202,5

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.
Recomendar Página Voltar ao Topo
Copyright 1996-2025 © 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: 2025-06-30 às 02:27:11 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias