140 likes | 372 Views
LENGUAJES Y PARADIGMAS DE PROGRAMACIÓN. Presentación. LPP: Descripción. Carácter: Obligatoria Adaptado por Ing. Otitigbe Obadiah Oghoerore Alegbe Universidad Nacional de Lanús - Argentina Basado en el trabajo de Profesores: María Alpuente (Despacho 240) alpuente@dsic.upv.es
E N D
LENGUAJES Y PARADIGMAS DE PROGRAMACIÓN Presentación
LPP: Descripción • Carácter: Obligatoria Adaptado por Ing. Otitigbe Obadiah Oghoerore Alegbe Universidad Nacional de Lanús - Argentina Basado en el trabajo de • Profesores: • María Alpuente (Despacho 240) • alpuente@dsic.upv.es • Mª José Ramírez (Despacho 239) • mramirez@dsic.upv.es Edificio DSIC, Planta 2ª • Material de la asignatura: microweb Curso 2003-2004
Por qué estudiar LPP? • Para entender el diseño e implementación de los lenguajes: sintaxis - reglas de construcción de los programas semántica - significado de los programas implementación - cómo se ejecutan pragmática - aspectos prácticos de su uso • Para saber qué lenguaje es más apropiado para resolver cierto tipo de problemas imperativo: PascaL/C, OO: C++/Java Funcional: Haskell/LISP/ML Lógico: Prolog/Mercury … • Para mejorar el conocimiento de los lenguajes que ya utilizamos • Para mejorar nuestras técnicas de programación Programar = definir nuevas extensiones de un lenguaje • Para saber proyectar nuevos lenguajes • Para poder aprender fácilmente nuevos lenguajes Curso 2003-2004
LPP: Objetivos docentes • Introducir los fundamentos y aplicaciones de los paradigmas clave en que se enmarcan los lenguajes de programación actuales: funcionallógicoobjetosimperativo y otros Curso 2003-2004
LPP: Objetivos de aprendizaje • Capacitar a los estudiantes para entender los lenguajes de programación desde diferentes puntos de vista: • según el modelo subyacente (paradigma) • según las componentes fundamentales presentes en todo lenguaje de programación (estructuras de datos, modo de ejecución, ...) • como objetos formales dotados de una estructura (sintaxis) y un significado (semántica), según diversos enfoques (diseñador, implementador, programador) Curso 2003-2004
LPP: Objetivos de aprendizaje • Al finalizar el curso, los estudiantes serán capaces de: • diferenciar las características propias de los principales paradigmas • conocer las características deseables en un lenguaje • resolver un mismo problema en diferentes estilos • escribir pequeños programas en cada lenguaje Curso 2003-2004
LPP: Temario • Introducción • Concepto de lenguaje de programación • Historia • Criterios de diseño • Principales paradigmas • Sintaxis y semántica los lenguajes de programación • Sintaxis de los lenguajes de programación: criterios generales, elementos sintácticos, modelos de traducción • Concepto y necesidad de las descripciones semánticas. Equivalencia de programas. Corrección y Completitud. Semánticas denotacional, axiomática, operacional. Curso 2003-2004
LPP: Temario • Paradigma funcional • tipos de datos, inferencia de tipos • recursión • polimorfismo • evaluación impaciente y perezosa • orden superior • Paradigma lógico • variables lógicas • unificación y resolución • búsqueda de soluciones (backtracking) • control Curso 2003-2004
LPP: Temario • Paradigma imperativo • abstracción de datos • evaluación de expresiones • estructuras de control • subprogramas, paso de parámetros, excepciones • Otros paradigmas • Orientación a Objetos • Concurrencia • ... Curso 2003-2004
LPP: Laboratorio • Se realizarán prácticas para ilustrar los conceptos más relevantes de la asignatura. • Se usarán dos lenguajes cuyas características fundamentales serán presentadas en las clases prácticas: • El lenguaje funcional Haskell. • El lenguaje lógico SicstusProlog. Curso 2003-2004
LPP: Evaluación • Se realizará un examende tipo test con preguntas teórico-prácticas referentes al temario de teoría explicado en clase y a las características generales de los lenguajes vistos en el laboratorio. • Las prácticas se evaluarán en el laboratorio con la presentación de los ejercicios propuestos a tal fin. • La realización y presentación de las prácticas es un requisito indispensable para poder aprobar la asignatura aunque no contribuyen a la nota de la misma. • En caso de proponer alguna práctica voluntaria, su realización permitirá obtener hasta un punto adicional a sumar a la nota del examen. Curso 2003-2004
LPP: Bibliografía • Básica: • Apt, K.R. From Logic Programming to Prolog, Prentice Hall, 1996. • Bird, R. Introducción a la Programación Funcional, Prentice Hall, 2000. • Pratt, T.W.; Zelkowitz, M.V. Lenguajes de programación: diseño e implementación, Prentice-Hall, 1998 • Scott, M.L. Programming Language Pragmatics, Morgan Kaufmann Publishers, 2000 • Complementaria: • Horowitz, E. Fundamentals of Programming Languages, Computer Science Press, 1984. • Louden, K.C. Programming Languages: Principles and Practice, PWS Publishing, 1993. • Sethi, R. Lenguajes de programación: conceptos y constructores, Addison Wesley, 1992. Curso 2003-2004