Conteúdo / Main content
Menu Rodapé
  1. Início
  2. Cursos
  3. Engenharia Informática
  4. Programação Funcional

Programação Funcional

Código 14348
Ano 1
Semestre S2
Créditos ECTS 6
Carga Horária PL(30H)/T(30H)
Área Científica Informática
Objectivos de Aprendizagem Os objectivos gerais de aprendizagem são os seguintes
• Compreender os fundamentos da programação funcional na resolução de problemas computacionais.
• Compreender as diferenças entre os paradigmas de programação imperativa e funcional.
• Compreender os conceitos básicos do paradigma funcional usando uma linguagem funcional.
• Desenvolver competências de programação funcional através de programas que envolvam tipos de dados algébricos.
• Desenvolver competências de programação funcional utilizando técnicas de programação dinâmica ou retrocesso.
Conteúdos programáticos • Noções básicas de OCaml (bindings, condicionais, registos, funções)
• Funções recursivas e tipos recursivos
• Benefícios da não mutação
• Tipos de dados algébricos, correspondência de padrões
• Recursividade terminal
• Funções de ordem superior; fechos
• Âmbito lexical
• Currying
• Açúcar sintático
• Equivalência e efeitos
• Polimorfismo paramétrico
• Inferência de tipos
• Tipos abstractos e módulos
Bibliografia principal Jean-Christophe Filliâtre, Sylvain Conchon. Apprendre à programmer avec OCaml, Eyrolle, 2014. ISBN-13: 978-2212136784

Emmanuel Chailloux, Pascal Manoury, and Bruno Pagano. Developing Applications With Objective Caml. O'Reilly France, 2002. ISBN-13: 978-2841771219

Anil Madhavapeddy and Yaron Minsky. Real World OCaml: Functional Programming for the Masses. 2nd ed. Cambridge: Cambridge University Press, 2022. ISBN-13: 978-1009129220.

John Whitington. OCaml From the Very Beginning. Coherent Press, 2013. ISBN-13: 978-0957671102.

Michael R. Clarkson. OCaml Programming: Correct + Efficient + Beautiful. Self-Publishing, 2024.
Língua Português
Data da última atualização: 2025-03-03
As cookies utilizadas neste sítio web não recolhem informação pessoal que permitam a sua identificação. Ao continuar está a aceitar a política de cookies.