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: 2017/2018 - 2S

Ativa? Sim
Página Web: http://www.dcc.fc.up.pt/~sandra/Home/PF1718.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 3 Plano de Estudos Oficial 3 - 6 56 162
L:CC 80 Plano de estudos a partir de 2014 1 - 6 56 162
L:F 0 Plano de Estudos Oficial 2 - 6 56 162
3
L:G 15 Plano estudos a partir do ano letivo 2017/18 2 - 6 56 162
3
L:M 1 Plano de Estudos Oficial 2 - 6 56 162
3
L:Q 1 Plano estudos a partir do ano letivo 2016/17 3 - 6 56 162
MI:ERS 126 Plano Oficial desde ano letivo 2014 1 - 6 56 162

Docência - Responsabilidades

Docente Responsabilidade
Sandra Maria Mendes Alves Regente

Docência - Horas

Teórica: 2,00
Práticas Laboratoriais: 2,00
Tipo Docente Turmas Horas
Teórica Totais 2 4,00
Sandra Maria Mendes Alves 4,00
Práticas Laboratoriais Totais 9 18,00
Sandra Maria Mendes Alves 2,00
Manuel Bernardo Martins Barbosa 6,00
Vítor Manuel Parreira Pereira 4,00
Bernardo Luís Fernandes Portela 4,00
João Pedro Pedroso Ramos dos Santos 6,00

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 com exame final

Componentes de Avaliação

Designação Peso (%)
Exame 50,00
Teste 50,00
Total: 100,00

Fórmula de cálculo da classificação final

Teste intercalar (50% de peso na nota final).
Exame (50% de peso na nota final). 
Sendo TI a classificação obtida no teste intercalar e e EX a
classificação obtida no exame, então a nota final é dada por:
F = TI*(0.5) + EX*(0.5) 
TI,EX >= 6 e F >= 9.5
Não obterão aprovação, os alunos que não obtiverem um mínimo de 6 valores (em 20), em cada componente e um mínimo de 9.5 valores de nota final.
O exame de recurso, será cotado para 20 valores.

Avaliação especial (TE, DA, ...)

N/A

Recomendar Página Voltar ao Topo
Copyright 1996-2022 © 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: 2022-09-26 às 16:16:38 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias