Profesor | Silvestre Ruíz Salinas | lu mi vi | 20 a 21 | Taller de Investigación de Operaciones |
Ayudante | Roberto Rosas Espinosa | ma ju | 20 a 21 | Taller de Investigación de Operaciones |
Programación II
Grupo: 9031
Salón: Investigación de Operaciones
Profesor: Silvestre Ruíz Salinas
Ayudante: Roberto Rosas Espinosa
Objetivo:
El alumno conocerá y aplicara los métodos y técnicas para especificación ,validación y verificación de software
El alumno conocerá y aplicara los fundamentos de estructuras de datos, usando el lenguaje de programación C++ bajo el estándar ANSI para su implementación.
El alumno estará capacitado para comprender los fundamentos relativos al concepto, la implantación y las aplicaciones
de las estructuras de datos básicas - listas, arreglos, tablas, pilas o stacks, colas, árboles, grafos - y los
operadores asociados a ellas.
Tema 1. El lenguaje de programación C y C++
Conceptos Generales, iteraciones y decisiones, funciones, funciones virtuales, programación orientado a objetos (objetos, clases, herencia, polimorfismo, clases abstractas), manejo de excepciones, manejo de archivos.
Tema 2. Introducción a las estructuras de datos.
Apuntadores, operaciones con punteros, arreglos unidimensionales y multidimensionales, estructuras, uniones, biblioteca estándar de plantillas STL.
Tema 3. Estructuras de datos
Colas, pilas, listas,listas ligadas, listas doblemente ligadas, arboles y sus operaciones asociadas .
Tema 4. Ordenamiento y Búsqueda
Ordenamiento de burbuja, por selección, por inserción y quicksort.
Búsqueda en listas secuencial (búsqueda lineal) y binaria (búsqueda no lineal).
Arboles de búsqueda balanceados.
Tema 5. Grafos
Representación de grafos en C y Algoritmo de la ruta mas corta
Bibliografía
Tucker, B. et al. Fundamental of Computing, I: Logic, Problems Solving, Programs and Computers. 2nd
edition. USA. McGraw-Hill. 1994.
Magidin, M. Estructuras de datos. México. Editorial Trillas. 1991.
Cómo programar en C/C++, H.M. Deitel, P.J. Deitel, Ed. Prentice Hall
Aprenda C++, Jeese Liberty, David Howard, Ed. Anaya
Programming, Principles and Practice using C++, Bjarne Stroustrup, Ed. Addison Wesley, 2009.
Aho, A.V. et al. Estructuras de datos y algoritmos. México. Addison Wesley Publishing Company, 1988.
Base, S. Computer Algorithms. Introducing to Design and Analysis. USA. Addison Wesley Publishing
Company. 1990.
Cormen, T.H. et al. Introduction to Algorithms. USA. McGraw-Hill Book Company. 1990.
Biggerstaff, T.J., Perles A. J.; edited by Software Reusability, Volume I, II, ACM PRESS Addison Wesley
Publishing Company, 1989.
Ghezzy,C. et al. Fundamentals of Software Engineering. USA. Prentice-Hall Inc. 1991.
Glass, R. L. Software conflict. Essays on the Art and Science of Software Engineering. USA. Yourdon Press
Computing series. 1991.
Gehani, N., McGettrick, A.D. editors. Software Specification Techniques. USA. Addison Wesley Publishing
Company. 1980.
Gries, D. editor. Programming in the 1990s. An Introduction to the Calculation of Programs. Springer
Verlag, 1990.
Dijkstra, W. E. editor. Formal Development of Programs and Proofs. USA. Addison Wesley Publishing
Company. 1990