
Nombre: Lenguajes y
Paradigmas de
Programación
Semestre: 3B
Codigo: LPP
Creditos: 6 (3 Teoría + 3 Prácticas)
Profesores: María Alpuente
Frasnedo y
María
José Ramírez Quintana
Co-Prerrequisitos (recomendados): ninguno
Objetivos
El objetivo del
curso es
introducir los fundamentos y las aplicaciones de los paradigmas
clave en
los que se enmarcan los lenguajes de programación actuales: funcional,
lógico, imperativo, objetos y otros.
Este objetivo
general se
concreta en capacitar a los estudiantes para entender los lenguajes de
programación desde diferentes puntos de vista:
En el laboratorio
se
trabajará con varios lenguajes: Haskell (funcional) y Prolog
(lógico). Al finalizar el curso, los estudiantes serán capaces de
diferenciar las características propias de los principales paradigmas,
resolver un mismo problema en diferentes estilos y escribir pequeños
programas en cada lenguaje
Temario
Concepto
de lenguaje de programación
Historia
Criterios
de diseño
Principales
paradigmas
Estructura sintáctica de los
programas. Notación BNF. Sintaxis y
Compilación. Concepto y necesidad de las
descripciones semánticas.
Semánticas denotacional, axiomática, operacional.
Equivalencia de
programas. Corrección y Completitud.
-
Parte ii:
Implementación de los lenguajes de programación
introducción
tipos de datos, inferencia de tipos
polimorfismo
recursión
evaluación impaciente y perezosa
orden superior
variables
lógicas
unificación
y resolución
búsqueda
de soluciones (backtracking)
control
abstracción
de datos
evaluación
de expresiones
estructuras
de control
subprogramas,
paso de parámetros, excepciones
Orientación
a Objetos
Concurrencia
Evaluación La calificación de la
asignatura viene determinada por la
nota de un examen teórico-práctico (cuestiones), siendo necesario
obtener también un APTO en el laboratorio.
Bibliografia
básica
Bibliografia
complementaria