Lenguajes y Paradigmas de Programación

(english version )


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


alpuente@dsic.upv.es