Código |
14786
|
Ano |
2
|
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 |
Neste domínio do conhecimento, é particularmente importante combinar a teoria com a prática. Assim, a metodologia de ensino procura refletir o melhor possível esta realidade. Embora os conceitos teóricos sejam lecionados no ensino teórico, existe uma forte componente prática dedicada exclusivamente a garantir que os alunos são capazes de tirar partido dos avanços desta disciplina (da programação funcional).
|
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
|