Download Paradigmas de programación - FRCU
Document related concepts
Transcript
Ministerio de Educación Universidad Tecnológica Nacional Facultad Regional Concepción del Uruguay Cátedra: PARADIGMAS DE PROGRAMACIÓN CÓDIGO: 9529 Carrera: INGENIERÍA EN SISTEMAS DE INFORMACIÓN Plan: ORD. Nº 1150 Régimen: CUATRIMESTRAL Año: 2008 Horas semanales: 7 Introducción a los Paradigmas Lenguajes de programación: Objetivos. Cualidades Deseables. Paradigmas Funcional, lógico y orientado a objetos: Características principales y evolución. Manejo de la complejidad: abstracción, descomposición y ocultamiento de datos y operaciones. Otros Paradigmas: Paralelo y distribuido. Orientados al acceso. Lenguajes de estructura de datos única. Programación de Flujo de datos. Lenguajes pequeños. Lenguajes de Bases de Datos. Lenguajes de tiempo real. Paradigma Orientado a Objetos Introducción. Objetos. Fundamentos. Principios: Simulación. Responsabilidades. Conceptos básicos: Encapsulamiento. Objeto. Mensajes y Métodos. Clase. Instancia. Ejemplar. Composición. Herencia, subclase y superclase. Jerarquía de clases, árbol y bosque. Costos y beneficios de la herencia. Heurísticas para crear subclases. Conceptos avanzados: Polimorfismo: paramétrico y sobrecarga. Enlace estático y dinámico. Herencia múltiple. Visibilidad y dependencia. Ventajas y Desventajas de la Orientación a Objetos. OBJECT PASCAL: Características principales. Construcción de una aplicación. SMALLTALK/V: Elementos del lenguaje. Sintaxis. Palabras reservadas. El sistema de clases. Ambiente de trabajo (browsers, inspector, workspaces, debugger). Metaclases. Métodos y variables de Clase. Construcción de una aplicación. Identidad. Paradigma Funcional Introducción. Principios. Conceptos principales: Funciones. Transparencia referencial. Recursividad. Polimorfismo. Listas. Funciones sobre listas. Funciones de orden superior. Evaluación tardía. Cálculo Lambda. LISP: Elementos del lenguaje. Átomos. Listas. Operaciones básicas. Definición de funciones. Expresiones Aritméticas. Otras funciones. Aplicaciones Paradigma Lógico Página 1 de 5 Ministerio de Educación Universidad Tecnológica Nacional Facultad Regional Concepción del Uruguay Introducción a la Programación Lógica. Principios. Cálculo de enunciados. Cálculo de Predicados. Relaciones. Cláusulas de Horn. Reglas, hechos y consultas. Deducción. Variables lógicas. Estados: bound y unbound. Variable anónima. Unificación. Negación y fracaso. PROLOG: Elementos del lenguaje. Definición de predicados. Programas y consultas. Orden de evaluación. Control. Árbol de búsqueda, backtracking y cortes. Aplicaciones Página 2 de 5 Ministerio de Educación Universidad Tecnológica Nacional Facultad Regional Concepción del Uruguay Título Programming Language Essentials Características Henri Bal. Dirk Grune. Autores Addison Wesley Editorial Descripción Libro sobre las características generales de los lenguajes de Temas programación. Contiene los conceptos más importantes de los distintos paradigmas. Aspectos de los lenguajes de programación. Lenguajes imperativos, orientados a objetos, funcionales, lógicos, paralelos y distribuidos. Otros paradigmas. Ravi Sethi Autores Addison Wesley Editorial Descripción Libro sobre las características generales de los lenguajes de Lenguajes de Programación Conceptos y constructores Temas Introducción a la Programación Orientada a Objetos Objetos. Conceptos, Métodos y Herramientas Timothy Budd Autores Addison Wesley Editorial Descripción Libro sobre Orientación a Objetos, con ejemplos en distintos Temas lenguajes: Object Pascal, C++, Objetive-C, Smalltalk. Diseño por responsabilidades. Clases y métodos. Mensajes ejemplares e iniciación. Herencia. Enlace estático y dinámico. Herencia múltiple. Polimorfismo. Visibilidad y dependencia. Mokrane Bouzaghoub. Georges Gardarin. Patrick Valduriez. Autores Eyrolles. Editorial Descripción Libro sobre Programación, Análisis y Diseño Orientado o Temas Descubra SmallTalk programación. Contiene los distintos paradigmas Elementos de un lenguaje de programación. Asignación. Procedimientos. Encapsulamiento. Herencia. Programación Funcional, Lógica, Concurrente. Descripción de lenguajes. Objetos. También contiene conceptos sobre Bases de Datos Orientadas a Objetos. Conceptos Orientados a Objetos. Lenguajes O.O. Bases de Datos O.O. y normalización. Análisis y Diseño O.O. Wilf Lalonde Autores Addison-Wesley Editorial Descripción Libro básico sobre Orientación a Objetos aplicando Smalltalk/V. Conveniente para iniciarse en este entorno de programación. Página 3 de 5 Ministerio de Educación Universidad Tecnológica Nacional Facultad Regional Concepción del Uruguay Smalltalk: mensajes, receptores y selectores. Áreas de trabajo y transcript. Métodos, clases y depurador. Jerarquía de clases. Biblioteca de Smalltalk. Kent Beck Autores Prentice Hall Editorial Descripción Libro sobre técnicas de programación en Smalltalk para aprovechar todo su potencial. Patrones. Métodos y Mensajes. Variables de instancia y Temas variables temporales. Colecciones. Clases. Ejemplo de desarrollo en Smalltalk. Temas SmallTalk. Best practice patterns Brad Cox. Andrew Novobilski Autores Addison Wesley Editorial Descripción Este libro presenta los conceptos básicos de la Orientación a Object Oriented Programming LISP Temas Ulises Cortés. Carlos Sierra. Autores Marcombo Editorial Descripción Conceptos de programación funcional aplicando LISP. No hace Temas Logic, Programming And PROLOG Objetos y compara las ventajas y desventajas de utilizar lenguajes adaptados a objetos (híbridos) versus lenguajes puros. Objetivos de la Orientación a Objetos. Objetos, Mensajes y encapsulamiento. Clases y herencia. Clases básicas. Colecciones. Interfaces. Desarrollo de ejemplos comparados en Ada, C++, Objetive-C y Smalltalk-80 énfasis en la programación funcional pura, sino que la mezcla con instrucciones del paradigma imperativo. Expresiones simbólicas, átomos y listas. Predicados. Entrada/salida. Recursividad e iteración. Estructuras. Aplicaciones. Ulf Nilsson. Jan Matuszynski. Autores Wiley Editorial Descripción Contiene conceptos básicos sobre Lógica matemática; Temas Autores Editorial posteriormente explica como transformar las expresiones lógicas en programación, y por último analiza el caso particular del lenguaje Prolog. Incluye también programación lógica con concurrencia y bases de datos deductivas. Lógica e inferencia. Cláusulas. Unificación. Negación. Lógica y Bases de Datos. Lógica y Sistemas Expertos. Gramáticas. Esquemas alternativos de lógica. Iván Bratko Addison Wesley Página 4 de 5 Ministerio de Educación Universidad Tecnológica Nacional Facultad Regional Concepción del Uruguay Descripción Contiene conceptos básicos y avanzados sobre Prolog, y su PROLOG, programming For Artificial Intelligence The essence of Logic Temas aplicación a sistemas basados en el conocimiento, en especial Sistemas Expertos. PROLOG: reglas, sintáxis, listas, operadores. Estructuras de datos. Backtracking. Entrada/Salida. Representación de árboles. Inteligencia Artificial: problema y estrategias de solución. Búsquedas y heurística. Sistemas Expertos y represtanción del conocimiento. Sistemas de aprendizaje. John Kelly Autores Prentice Hall Editorial Descripción Contiene las bases matemáticas formales de la lógica, Temas incluyendo el cálculo proposicional (de enunciados) y el cálculo de predicados. Tablas de verdad. Semántica. Deducción. Lógica proposicional axiomática. Lógica de predicados. Pedro Cuenca Giménez Autores Anaya multimedia Editorial Descripción Libro de programación en JAVA. Para investigar las JAVA Temas BIBLIOGRAFÍA COMPLEMENTARIA Software Utilizado características, ventajas y desventajas del uso de la Programación Orientada a Objetos en lenguajes orientados a Internet-Intranet Orígen de JAVA y características. Applets. Seguridad. Animación y multithreading. Conceptos de Orientación a Objetos. Manual de referencia de Turbo Pascal 7.0 Tutorial de Smalltalk/V (incluido en el software) Apéndice de Clases de Smalltalk Manual de Referencia de Common LISP Tutorial de Common LISP (incluido en el software) Documentación en línea del software utilizado (ayudas) Turbo Pascal 7.0 (DOS) Smalltalk/V (Windows) Common LISP (DOS) LispWorks 4.1, de Harlequin (Windows) Scheme, del MIT (Windows) Turbo Prolog (DOS) Swi Prolog (Windows) Página 5 de 5