...collaborate on
Notícias

Terão lugar (no anfiteatro A1 do DI) as seguintes sessões de esclarecimento de dúvidas:

2a.fa. 14 Fev 10:00, com possibilidade de consulta dos exames (1a. chamada).

4a.fa. 16 Fev 10:00, com possibilidade de consulta dos exames (2a. chamada).

-- JorgeSousaPinto - 06 Jan 2005

Disponíveis nesta página (com a preciosa ajuda de Nuno Rodrigues) alguns exercícios resolvidos.

-- JorgeSousaPinto - 08 Jan 2005

Já disponível nesta página a versão final dos slides das aulas teóricas.

-- JorgeSousaPinto - 2 Dec 2004

Disponível nesta página a versão 5 dos exercícios da disciplina. A menos de correcções de erros e algum rearranjo de estrutura, esta é a versão final deste documento

-- JorgeSousaPinto - 11 Dec 2004

Enunciados Exames

Notas

Época Especial (Outubro 2005)

N. Nome Curso Nota Exame Nota Final
17871 Marco Freire ESI R  
19699 Ivan Noor... ESI R  
19710 Luis Rocha ESI D  
22692 Miguel Fernandes ESI 11 12
24871 Ricardo Gonçalves ESI D  
27620 João Lopes ESI R  
27650 Paulo Braga ESI R  
27662 Ricardo Gomes ESI R  
27663 Ricardo Figueiredo ESI R  
27604 Duarte Lourenço ESI D  
27683 Sara Santos ESI 8 10
30166 António Pereira ESI R  
30185 Ernesto Festas ESI 10 12
33198 Personal.Nuno Tendais ESI R  
33232 Rui Rodrigues ESI D  
35360 Pedro Carvalho ESI R  
35375 Sérgio Miranda ESI D  
36765 Sandra Fazendeiro ESI D  
23218 Susana Pacheco MCC D
28154 João Carmo MCC D  
35862 Sofia Moreira MCC 12 12
41029 Adriana Santos MCC D  

Os exames da época de recurso poderão ser consultados na próxima semana em data a designar.


Métodos de Programação I 2004-2005

Para consultar a página antiga: MP-I


Curiosidades...

  • Uma lista coligida recentemente das artigos de investigação mais influentes no domínio das Linguagens de Programação

Equipa Docente

Horários de Atendimento

Docente Horário Horário (Época Exames)
JorgeSousaPinto 2as. 14-17, 3as. 9-12 2as. e 3as. 14:30-17:30
JoseBarros 4as. 10-12, 5as. 9-12  
NunoRodrigues 4as. 14-17, 5as. 9-12  


FAQ da Disciplina

Disponível nesta página
(faça login como TWikiGuest e coloque as suas questões)

Material Disponibilizado

Material de Apoio

  • Ficheiros contendo definições e exemplos de utilização dos padrões de recursividade de listas e árvores binárias: MP1-Libraries.tgz

Trabalhos Práticos

Submissão Electrónica

  • Siga este link. Os trabalhos têm de ser submetidos em formato .zip ou .tgz
  • Para efectuar a entrega do trabalho é necessário registar primeiro o grupo, registo este que so deve acontecer uma única vez. Para isso devem seleccionar a opção Registar e introduzir um username e uma password para o grupo; Depois de registado o grupo, devem fazer login com o username e password escolhidos; Uma vez dentro do sistema, devem selecionar a opção "Elementos do Grupo" e registar todos os elementos do grupo um por um; Por fim, para submeter o trabalho selecionem a opção "Submeter Trabalho" e escolham qual o trabalho a submeter bem como o ficheiro contendo o trabalho, fazendo "Submit" no final.

Se algum grupo perder a password contacte NunoRodrigues. Não tentem nunca registarem-se mais do que uma vez.

Enunciados

  • Trabalho 1, a ser submetido electronicamente até às 24:00 do dia 10 de Outubro.

  • Trabalho 2, a ser submetido electronicamente até às 24:00 do dia 7 de Novembro.

  • Trabalho 3, a ser submetido electronicamente até às 24:00 do dia 12 de Dezembro.


Pré-Requisitos

Não havendo pré-requisitos formais, assume-se que os alunos possuem o seguinte conjunto de conhecimentos:

  • familiaridade com conceitos básicos de Programação Funcional
  • familiaridade com a linguagem de programação Haskell

Critérios de Avaliação

  • Nota final
    • Componente Teórica (Exame): 60% (nota mínima de 8 valores)
    • Componente Prática (Trabalhos Práticos): 40% (nota mínima de 10 valores)
  • Avaliação prática
    • A componente prática da nota resulta da avalição de três trabalhos práticos.
    • Os trabalhos serão realizados extra-aulas, por grupos de exactamente 3 alunos.
    • Datas para a entrega dos trabalhos práticos: 10 de Outubro, 7 de Novembro, e 12 de Dezembro.
    • Aqueles alunos que obtiveram classificação prática positiva no ano anterior poderão congelar essas notas para o ano corrente. O CONGELAMENTO IMPLICA QUE O ALUNO NÃO SERÁ AVALIADO NA VERTENTE PRÁTICA ESTE ANO, NÃO PODENDO POR ISSO ENTREGAR QUALQUER TRABALHO.

Programa Resumido

  • Motivação. Teoria e método em programação. Cálculo e raciocínio sobre programas. Composicionalidade. Combinadores de programas. Modularidade e reutilização.

  • Programação funcional: sua motivação e antecendentes históricos. Composição de funções. Noções de abstracção e de isomorfismo.

  • Iniciação à estruturação de dados. Combinadores básicos e suas propriedades estruturais (reflexão, fusão, absorção, cancelamento e de functorialidade). Álgebra de um tipo de dados. Lei da troca.

  • Introdução às estruturas de dados indutivas regulares. Álgebras de functores. A triologia «cata-ana-hilo». Recursividade polinomial. Caso de estudo: algoritmos de ordenação.

  • Parametrização e polimorfismo. Programação genérica. Functores de tipo. Introdução ao politipismo.

  • Programação funcional com mónadas. `Input/output'. Excepções

Bibliografia

Textos de referência sobre Programação Funcional e Haskell:

  • R. Bird, Introduction to Functional Programming Using Haskell. Prentice-Hall International, 2nd edition, 1998

  • J.M. Valença e J.B. Barros, Fundamentos da Computação II: Programação Funcional. Universidade Aberta, 2000

Recomenda-se ainda, como apoio específico aos temas tratados na disciplina:

r58 - 12 Feb 2007 - 19:48:39 - JoseBacelarAlmeida
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
Syndicate this site RSSATOM