Responsable: | (-) |
Otros: | (-) |
Créditos | Dept. |
---|---|
7.5 (6.0 ECTS) | CS |
Responsable: | (-) |
Otros: | (-) |
1. Que los estudiantes adquieran las herramientas conceptuales para analizar los lenguajes de programación según el modelo subyacente (diferentes clases o paradigmas), según sus componentes fundamentales (sistema de tipos, modelo de ejecución, abstracciones de datos y de procesos), según su adecuación al tipo de aplicación, envergadura y metodología de desarrollo. 2. Que conozcan los fundamentos teóricos básicos de los LP y su definición formal, y en especial los fundamentos del paradigma funcional. 3. Que adquieran una experiencia básica en la programación con lenguajes funcionales del tipo de Miranda o Haskell.
Horas estimadas de:
T | P | L | Alt | L Ext. | Est | O. Ext. |
Teoria | Problemas | Laboratorio | Otras actividades | Laboratorio externo | Estudio | Otras horas fuera del horario fijado |
|
T | P | L | Alt | L Ext. | Est | O. Ext. | Total | ||
---|---|---|---|---|---|---|---|---|---|---|
6,0 | 13,0 | 14,0 | 0 | 14,0 | 19,0 | 0 | 66,0 | |||
Componentes de un sistema de programación funcional. Evolución del paradigma. Características de los LF actuales:
Uso intensivo del orden superior. Curryficación. Definición ecuacional mediante patrones. Tipos algebraicos y tipos abstractos. Polimorfismo. Deducción de tipos. Evaluación perezosa. Técnicas de programación de orden superior en un lenguaje funcional con evaluación perezosa (Miranda o Haskell). Programación con objetos infinitos. Solucionas en redes de procesos comunicantes (streams). Definición de listas por comprensión (esquema generador/filtro).
|
|
T | P | L | Alt | L Ext. | Est | O. Ext. | Total | ||
---|---|---|---|---|---|---|---|---|---|---|
5,0 | 5,0 | 0 | 0 | 0 | 15,0 | 0 | 25,0 | |||
Lambda cálculo. Estrategias de reducción. Orden normal y aplicativo. El problema de las definiciones recursivas.
Introducción a la Teoría de dominios. Teorema del Punto fijo. Introducción a la teoría de tipos. Sistemas de inferencia de tipos. |
|
T | P | L | Alt | L Ext. | Est | O. Ext. | Total | ||
---|---|---|---|---|---|---|---|---|---|---|
5,0 | 5,0 | 0 | 0 | 0 | 15,0 | 0 | 25,0 | |||
Elementos sintácticos. Sintaxis concreta y abstracta. Los distintos enfoques semánticos y su aplicación. El enfoque denotacional.
Definición semántica de un lenguaje imperativo mínimo. Equivalencia semántica de programas. Semántica de otras clases de lenguajes. |
|
T | P | L | Alt | L Ext. | Est | O. Ext. | Total | ||
---|---|---|---|---|---|---|---|---|---|---|
9,0 | 3,0 | 0 | 0 | 0 | 7,0 | 0 | 19,0 | |||
- El sistema de tipos. Evolución del concepto de tipo. Mecanismos de definición de tipos. Tipos algebraicos. Genericidad y polimorfismo. Polimorfismo paramétrico y de inclusión. Subtipos y subclases. Formas de herencia. Jerarquías. Comprobación estática y dinámica de tipos. Inferencia de tipos.
- El control de secuencia. A nivel de expresiones. instrucciones. Entre unidades de programa. Procedimientos. Corrutinas. Procesos concurrentes. Manejadores de excepciones. El control de secuencia en los distintos paradigmas. - El control de datos. Asociación entre identificadores y objetos. Sobrecarga. Aliasing. Resolución estática y dinámica de vínculos. Ámbito y visibilidad. Compartición de datos. Formas de paso de parámetros. |
Total por tipo | T | P | L | Alt | L Ext. | Est | O. Ext. | Total |
28,0 | 28,0 | 14,0 | 0 | 14,0 | 59,0 | 0 | 143,0 | |
Horas adicionales dedicadas a la evaluación | 7,0 | |||||||
Total horas de trabajo para el estudiante | 150,0 |
Habrá clases de teoría y problemas (en promedio 4 horas semanales), y clases de laboratorio (1 hora en promedio).Las clases de laboratorio se dedicarán a la implementación de los ejercicios que se resuelvan en clase de problemas y a la realización de una práctica que se resolverá en grupos preferentemente de 3 alumnos.
Habrá dos exámenes y una práctica obligatoria con uno peso del 15%.El examen parcial libera materia si la nota no es inferior a 4. En ese caso la nota final se calcula como la media ponderada de las tres notas, donde el parcial tiene un peso del 40% y el final 45%.
Si la nota del parcial es inferior a 4, el examen final incluirá ambas partes de la asignatura y tendrá un peso del 85%.
Deberán haber aprobado la asignatura Prap