Facultad de Ciencias-UNAM Profesora: Dra. Hanna Oktaba Objetivo Se estudiarn los conceptos fundamentales y las caractersticas de los lenguajes de programacin. Se revisarn los conceptos bsicos de sintaxis y semntica, y la estructuracin de datos, de computacin y de programas. Se estudiaran los diferentes paradigmas de los lenguajes de programacin tales como: imperativo, funcional, lgico y orientado a objetos. Contenido 1. Introduccin 1.1 Proceso de desarrollo de software 1.2 Lenguajes y ambientes de desarrollo 1.3 Lenguajes y mtodos de diseo 1.4 Lenguajes y la arquitectura de las computadoras 1.5 Cualidades de los lenguajes de programacin 1.6 Perspectiva histrica 1.7 Breve resumen de conceptos 2. Sintaxis y semntica 2.1 Definicin de lenguaje 2.2 Procesamiento de lenguaje 2.3 Variables 2.4 Rutinas 2.5 Alias y sobrecarga 2.6 Procesador semntico abstracto 2.7 Estructura de tiempo de ejecucin (run-time) 3. Estructuracin de datos 3.1 Tipos intrnsecos y primitivos 3.2 Agregacin de datos y constructores de tipos 3.3 Tipos definidos por usuarios y tipos abstractos de datos 3.4 Sistemas de tipos 3.5 Estructura de tipos de algunos lenguajes representativos 3.6 Modelos de implementacin 4. Estructuracin de computacin 4.1 Expresiones e instrucciones 4.2 Ejecucin condicional e iteracin 4.3 Rutinas 4.4 Excepciones 5. Estructuracin de programas
5.1 Mtodos de diseo de software
5.2 Conceptos que soportan modularidad 5.3 Conceptos de lenguajes para programacin de grandes sistemas 5.4 Unidades genricas 6. Lenguajes funcionales 6.1Caracteristicas de lenguajes imperativos 6.2 Funciones matemticas y programables 6.3 Lenguajes funcionales representativos 7. Lenguajes lgicos 7.1 Qu versus Cmo: especificacin versus implementacin 7.2 Principios de programacin lgica 7.3 PROLOG 7.4 Programacin funcional versus programacin lgica 8. Lenguajes Orientados a Objetos 8.1 Conceptos de programacin orientada a objetos 8.2 Herencia y el sistema de tipos 8.3 Caractersticas de lenguajes orientados a objetos 8.4 Ejemplos representativos de lenguajes orientados a objetos Mtodo de evaluacin Cada mdulo del curso ser evaluado con un examen parcial terico. Tambin durante el estudio de cada mdulo se dejar por lo menos una tarea. La evaluacin del curso se definir tomado en cuenta las calificaciones de los exmenes parciales y de las tareas. Bibliografa Ghezzi C. y M. Yazayeri, Programming Language Concepts, Third Edition, John Wiley & Sons, 1998.