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
|
Metodologias de Ensino e Critérios de Avaliação |
Por fim a avaliar as competências adquiridas, as atividades de Ensino-Aprendizagem avaliarão tanto a compreensão dos conceitos teóricos expostos como a capacidade de os por em prática.
|
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. Versão online. Yaron Minsky, Anil Madhavapeddy, Jason Hickey. Real World OCaml, Functional Programming for the masses. 2nd Edition. O’Reilly. Versão online. Michael R. Clarkson. OCaml Programming: Correct + Efficient + Beautiful. Versão online. John Whitington. OCaml From the Very Beginning. Versão online.
|
Língua |
Português
|