Download PROGRAMACIÓN AVANZADA I Paradigmas de programación
Document related concepts
no text concepts found
Transcript
PROGRAMACIÓN AVANZADA I Paradigmas de programación Paradigma estructurado Paradigma orientado a objetos (herencia, polimorfismo, etc.) II Tipos de programación Programación con hilos Principios básicos III Lenguajes de programación usuales Java C++ IV Programación paralela Taxonomía arquitectónica Paradigmas de la programación paralela Consideraciones de diseño y comportamiento IV Programación distribuida RPC sockets cliente/servidor BIBLIOGRAFIA 1. 2. 3. 4. 5. 6. 7. 8. Ben-Ari, Mordechai. “Constructivism in Computer Science Education. “SIGCSE Bulletin, Vol.30, No. 1, Mar 1998, pages 257-261. Comer, Douglas E. Computer Networks and Internets, Prentice Hall, second edition, 1999. Coulouris, George, Jean Dollimore and Tim Kindberg. Distributed System: Concepts and Design Addison Wesley, second edition, 1994 How to Program, Prentice Hall, second edition, 1998. Foster Ian Designing and Building Parallel, Addison Wesley, 1995 Holub, Allen. “Programming Threads”, series of articles in on-line magazine Java World Lea, Doug. Concurrent Programming in Java; Design Principles and Patterns, Adison-Wesley 1997. Dec 1998 Java, C++ programming books. MATEMÁTICAS DISCRETAS I Aritmética modular II Los números naturales y los números enteros Teorema de la división. Divisibilidad, MCD y factorización Relaciones de congruencia Sistemas de ecuaciones módulo enteros Sistemas de numeración Combinatoria III Técnicas de conteo Enumeración de objetos combinatorios elementales Variaciones. Combinaciones. Permutaciones. Funciones generatrices Principio de Inclusión- Exclusión. Aplicaciones Permutaciones y sus ciclos Distribuciones de objetos en cajas Grafos, árboles y relaciones Particiones numéricas, función generatriz. Diagramas de Ferrer Enumeración de árboles plantados Grafos, vértices, aristas, caminos y ciclos Grafos extrémales Operación de grafos: unión, suma, producto, composición, potencia Árboles y bosques: caracterización Producto cartesiano, relación, propiedad reflexiva, simétrica, anti simétrica, transitiva Relación de orden, relación de equivalencia Representación de las relaciones: tablas, grafos dirigidos y matrices Clausura reflexiva, simétrica y transitiva de una relación Copnjuntos parcialmente ordenados: digramas de hasse, elementos característicos, inclusión de un orden parcial en uno total Algebra de Boole BIBLIOGRAFIA 9. 10. 11. 12. 13. 14. Graham, Knuth, Patashnik (2001), “Concrete Mathematics, A. Foundation for Computer Science”, Addison Wesley. F. Haray (1969) “Graph Theory” O. Ore (1962) Theory of Graphs C. Berge (1985), “Graphs” Algner(1979) “Combinatorial Theory” G. Birkhoff (1977) “Lattice Theory” LÓGICA MATEMÁTICA, LENGUAJES FORMALES Y AUTOMATAS I Lógica Proposicional Sintaxis Semántica Teoría de pruebas II Calculo Proposicional Sintaxis Semántica Teoría de pruebas III Introducción a los Lenguajes Formales y Autómatas IV Reconocer la importancia de estudiar los autómatas y lenguajes formales Símbolos, alfabetos y cadenas Operación sobre cadenas Definición de lenguaje y operaciones sobre lenguajes La jerarquía de Chomsky: Clasificación de gramáticas y lenguajes Morfismos en los lenguajes Lema de Levy y los teoremas de Lyndon – Schutzenberger Lenguajes Formales y Autómatas (LFA) Autómatas determinísticos Autómatas no determinísticos Expresiones regulares Autómatas de pila Gramáticas y leguajes libres de contexto BIBLIOGRAFIA 15. Shauwn Hedman. A First Course in Logic. An Introduction to model theory, prrof theory, computability, and complexity. Ed. Oxford University Press, 2004. 16. Dexter, C. Kozen (2007). Automata and Computability, USA: Springer 17. Shallit J. (2009) A second Course in Formal Languages and Automata Theory, Cambridge University Press 18. Hopcroft, J. Motwani, R. and Ullman J. (2006). Introduction to Automata Theory Languages and Computation. USA: Addison Wesley 19. Wagner, Ferdinand; Schmuki, Ruediand; Wagner Thomas and Wolstenholme Peter (2006). Modeling Software with Finite State Machines A Practical Approach. Taylor &Francis Group, CRC Press 20. Anderson J. (2006) Automata theory with Modern applications Cambridge University Press 21. Baier, Christel and Katoen Joost -Pieter (2008) Principles of Model Checking England: MIT Press 22. Baral C. (2003) Knowledge representation, Reasoning and Declarative Problem Solving Cambridge University Press ANALISIS Y DISEÑO DE ALGORITMOS I Introducción II Noción de algoritmo Problemas, algoritmos y complejidad Fundamentos del análisis de algoritmos Notaciones asintóticas Fundamentos del análisis de algoritmos Análisis Matemático de algoritmos no recursivos Análisis Matemático de algoritmos recursivos Ecuaciones en recurrencia III Técnicas de diseño de algoritmos Planteamiento general Programación por esquemas Uso de patrones de diseño (Strategy, Template) IV Algoritmos voraces Características Esquema general Ejemplos de aplicación Heurísticas voraces V Divide y vencerás Características Calculo de la eficiencia Esquema general Ejemplo de aplicación BIBLIOGRAFÍA 1. 2. 3. 4. Mikhail J. Atallah (Ed.). “Algorithms and theory of computation handbook” CRC Press. 2004. Anany Levitin, “Introduction to the design & Analysis of Algorithms”, Pearson, 2003. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivets, “Introduction to Algorithms” McGraw-Hill, 2006. Michel R. Garey, David S: Johnson. “Computers and intractability: A guide to the theory of NPCompleteness”, W.H. Freeman