Competencias do título |
Código
|
Competencias / Resultados do título
|
Resultados de aprendizaxe |
Resultados de aprendizaxe |
Competencias / Resultados do título |
Coñecer os fundamentos e principios básicos da programación, incluindo variables, tipos, expresións, estruturas de control, estruturas de datos e recurrencia. |
A7 A13
|
B1
|
C6 C8
|
Empregar e aplicar os diferentes paradigmas de programación para a resolución de problemas. |
A7 A14
|
B1
|
C6 C8
|
Contidos |
Temas |
Subtemas |
Programación Declarativa: Programación Funcional |
Tipos e valores. Expresións e definicións.
"Pattern-matching".
Funcións. Funcións recursivas. Terminación. Recursividade terminal. "Currying". Funcións de orde superior.
Tipos parametrizados. Tipos recursivos. Polimorfismo.
Transparencia referencial.
Excepcións. |
Programación imperativa |
Estado da máquina. Variables. Asignación.
Programación estructurada. Estructuras de control: Composición secuencial, alternativa e iterativa.
Procedimentos e funcións. Paso de parámetros por referencia e por valor. Efectos colaterais.
Programación imperativa vs. declarativa. |
Programación Orientada a Obxectos |
Obxectos, atributos e métodos.
Clases e herdanza.
Polimorfismo.
Programación Orientada a Obxectos vs. imperativa.
Programación Orientada a Obxectos vs. declarativa. |
A linguaxe de programación Objective Caml |
Programación funcional, imperativa e orientada a obxectos en Ocaml.
Os compiladores de Ocaml.
Entrada / Saída.
Módulos e librerías.
Abstracción, encapsulación e compilación separada. Módulos, interfaces e signaturas.
|
Planificación |
Metodoloxías / probas |
Competencias / Resultados |
Horas lectivas (presenciais e virtuais) |
Horas traballo autónomo |
Horas totais |
Sesión maxistral |
A7 A13 A14 B1 C6 C8 |
30 |
20 |
50 |
Discusión dirixida |
A7 A13 A14 C6 C8 |
8 |
0 |
8 |
Proba obxectiva |
A13 A14 B1 |
4 |
16 |
20 |
Traballos tutelados |
A7 A13 A14 B1 |
2 |
20 |
22 |
Prácticas de laboratorio |
A7 A13 A14 B1 |
20 |
20 |
40 |
|
Atención personalizada |
|
10 |
0 |
10 |
|
*Os datos que aparecen na táboa de planificación son de carácter orientativo, considerando a heteroxeneidade do alumnado |
Metodoloxías |
Metodoloxías |
Descrición |
Sesión maxistral |
Exposición na aula dos contidos básicos da materia. |
Discusión dirixida |
Nas horas de titorías en grupos reducidos, discutirase cos estudantes a formulación e resolución de problemas avanzados. |
Proba obxectiva |
Exame escrito. |
Traballos tutelados |
O estudante poderá acordar co profesor a preparación de certos traballos para a súa presentación e discusión con outros estudantes durante as horas de titorías en grupos reducidos. |
Prácticas de laboratorio |
Exercicios de programación para a posta en práctica do visto nas clases maxistrais, con atención personalizada por parte do profesor de prácticas en horario de laboratorio. |
Atención personalizada |
Metodoloxías
|
Prácticas de laboratorio |
Traballos tutelados |
|
Descrición |
Durante o horario de prácticas de laboratorio supervisarase o traballo dos estudantes e asesoraráselles na resolución dos exercicios.
Asesorarase persoalmente aos estudantes na preparación dos traballos tutelados para a súa presentación nas horas de titorías en grupos reducidos.
O profesor tentará solucionar aquelas dúbidas que poidan xurdir respecto ao temario da materia. |
|
Avaliación |
Metodoloxías
|
Competencias / Resultados |
Descrición
|
Cualificación
|
Prácticas de laboratorio |
A7 A13 A14 B1 |
Asistencia, realización e entrega de prácticas de laboratorio. |
20 |
Proba obxectiva |
A13 A14 B1 |
Exame escrito. |
60 |
Traballos tutelados |
A7 A13 A14 B1 |
Coa realización de traballos tutelados e a súa defensa e discusión durante as horas de Titorías en Grupos Reducidos poderá consolidarse até un 20% da nota final. A porcentaxe non consolidada pasará a computarse na proba obxectiva. A valoración do exame escrito realizarase pola porcentaxe que reste até o 80%. |
20 |
|
Observacións avaliación |
|
Fontes de información |
Bibliografía básica
|
WIKSTRÖM, A. (). Functional Programming Using Standard ML. Prentice Hall
John Whitington (2013). OCaml from the very beginning. Coherent Press
Andrei De Araújo Formiga (2015). OCaml: Programação funcional na prática. Casa de Código |
Manual de Objective Caml |
Bibliografía complementaria
|
Luc Albert (1997). Cours et exercices d'informatique. Thomson Publishing International, Paris
WEIS, P. & LEROY, X. (1993). Le Languaje Caml. InterEditions
PAULSON, L. C. (1991). ML for the Working Programmer. Cambridge University Press.
John Whitington (2014). More OCaml. Algorithms, Methods & Diversions. Coherent Press
Michel Quercia (2000). Nouveaux exercices d'algorithmique. Éditions Vuibert, Paris
Joshua B. Smith (2006). Practical OCaml. Apress
Jacques Rouablé (1997). Programmation en Caml. Eyrolles, Paris
Philippe Narbe (2005). Programmation fonctionnelle, générique et objet: une introduction avec le langage OCaml. Vuibert, Paris
Yaron Minsky, Anil Madhavapeddy & jason Hickey (2013). Real World OCaml. O'Reilly
COUSINEAU, G, & MAUNY, M. (1998). The functional Approach to Programming. Cambridge University Press. |
DOWNEY, A.; MONJE, N.: Think OCaml. How to Think Like a (Functional) Programmer CHAILLOUX, E.; MANOURY, P. & PAGANO, B.: Developing Applications With Objective Caml. |
Recomendacións |
Materias que se recomenda ter cursado previamente |
Programación I/614G01001 | Matemática Discreta/614G01004 | Programación II/614G01006 |
|
Materias que se recomenda cursar simultaneamente |
Algoritmos/614G01011 | Deseño Software/614G01015 |
|
Materias que continúan o temario |
Concorrencia e Paralelismo/614G01018 | Sistemas Intelixentes/614G01020 |
|
|