...collaborate on

Programação Funcional

_Licenciatura em Matemática e Ciências de Computação_
1º Ano - 1º Semestre
Ano lectivo 2004/2005


Notas

Programa

Na actual estrutura da Licenciatura em Matemática e Ciências de Computação, esta é a primeira disciplina de Informática. Por esta razão, o primeiro grande objectivo desta disciplina é a introdução à programação de computadores.

Dos vários paradigmas de programação (imperativo, funcional, lógico e orientado a objectos) apresentados ao longo da licenciatura, nesta disciplina estuda-se o paradigma funcional, tendo por base a linguagem de programação Haskell.

Esta abordagem tem a vantagem de não exigir dos alunos grandes conhecimentos prévios sobre a arquitectura física dos computadores, para poderem entender e escrever programas funcionais, permitindo, por esse motivo, trabalhar mais facilmente com turmas heterogéneas em conhecimentos de informática.

A linguagem Haskell é uma linguagem puramente funcional fortemente tipada e com um sistema de tipos extremamente rico, o que permite não só ensinar os conceitos fundamentais da programação (funcional), onde se incluem tópicos tais como: tipos de dados, estruturas de controlo, e recursividade; como também ensinar conceitos avançados, como por exemplo: funções de ordem superior, polimorfismo, classes, modularidade, e monades.

Bibliografia

Fundamentos da Computação, Livro II: Programação Funcional. José Manuel Valença e José Bernardo Barros. Universidade Aberta, 1999.

Introduction to Functional Programming using Haskell. Richard Bird. Prentice-Hall, 1998.

Haskell: the craft of functional programming. Simon Thompson. Addison-Wesley.

Introduction to Functional Programming. Richard Bird and Philip Wadler. Prentice-Hall, 1988.

A Gentle Introduction to Haskell. Paul Hudak, John Peterson and Joseph Fasel.

Critérios de Avaliação

A avaliação tem uma componente teórica e uma componente prática, ambas obrigatórias. A nota final será calculada com base na seguinte fórmula:

Nota Final = NT * 0.6 + NP * 0.4

sendo

  • NT a nota teórica (nota mínima de 9 valores), obtida através da realização de uma prova individual escrita;

  • NP a nota prática (nota mínima de 10 valores), resultante da avaliação obtida ao longo das aulas laboratoriais e que terá por base a realização de trabalhos práticos.

Regime de Avaliação Prática

Alunos inscritos para melhoria de nota A avaliação prática será efectuada através de um trabalho prático a entregar no final do semestre em data a agendar. O enunciado correspondente está disponível aqui (Enunciado para alunos inscritos para melhoria).

Novos alunos e alunos repetentes sem nota prática. A inscrição nos turnos laboratoriais é obrigatória (e será feito controlo de presenças nas aulas). A nota prática resulta da avaliação obtida ao longo das aulas laboratoriais (avaliação contínua) e terá por base a realização de 3 fichas de trabalho e 2 trabalhos práticos.

Estudantes trabalhadores. A inscrição destes alunos nos turnos laboratoriais é opcional. Caso o aluno opte por não se inscrever nas aulas laboratoriais, a nota prática será obtida através da realização de um trabalho prático global (e as aulas laboratorias poderão ser frequentadas em regime livre).

Alunos repetentes com nota prática positiva. Os alunos que obtiveram classificação prática positiva no ano anterior poderão congelar essas notas para o ano corrente (deverão avisar os docentes). Para os alunos nestas condições que optem por não congelar a nota prática, a (nova) nota prática será obtida através da realização de um trabalho prático global. As aulas laboratorias poderão ser frequentadas em regime livre.

O ficheiro seguinte contém a lista de alunos em condições de congelar a nota prática obtida em 2003-2004 (LMCC). A decisão de congelar a nota deverá ser comunicada por e-mail a ManuelBernardoBarbosa.

Metodologia de Inscrições e Formação de Grupos de Trabalho

  • Cada turno prático terá no máximo 36 alunos inscritos (em regime de avaliação contínua), havendo ainda 3 máquinas (9 lugares) que poderão ser usados (em regime livre) pelos alunos sem inscrição obrigatória nos turnos.

  • As inscrições dos alunos nos turnos são individuais.
  • Dentro de cada turno serão formados grupos de 3 alunos.
  • O trabalho na aula é feito em grupo (fora da aula é como quizerem).
  • A nota prática é individual.

Equipa Docente

Horário Lectivo

  Horário Sala Docente
Teórica 2ªfeira 9:00-10:00 CP2.104 jmv
Teórica 4ªfeira 10:00-11:00 CP2.111 jmv
Turnos TP Horário Sala Docente
TP1 2ªfeira 17:00-18:00 CP3.402 jsp
TP2 3ªfeira 8:00-9:00 CP3.202 jsp
TP3 3ªfeira 12:00-13:00 CP1.215 jsp
Turnos P Horário Sala Docente
P1 2ªfeira 11:00-13:00 DI 0.11 mjf
P2 2ªfeira 18:00-20:00 DI 0.11 mjf
P3 3ªfeira 9:00-11:00 DI 0.11  
P4 5ªfeira 11:00-13:00 DI 0.11 omp
P5 6ªfeira 11:00-13:00 DI 0.11 mbb

Horário de Atendimento

Docente Horário
jmv 2as. 15-18, 3as. 15-18
jsp 2as. 14-17, 3as. 9-12
omp  
mjf 2as. 12-13 e 14-18
mbb 2as. 11-13 e 18-20, 3as. 18-20

Material Disponibilizado

Aulas Teóricas

Aulas Teórico-Práticas

Aulas Práticas

  • Ficha de trabalho número 1: Ficha1
  • Ficha de trabalho número 2: Ficha2
  • Ficha de trabalho número 3: Ficha3
  • Ficha de trabalho número 4: Ficha4
  • Ficha de trabalho número 5: Ficha5

Links Úteis

Exames

r41 - 12 Feb 2007 - 19:15:22 - 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