Cinvestav
Departamento de Computación

Programación Avanzada

Contenido

  1. Conceptos básicos
    1. Proceso de desarrollo de un programa.
    2. Tipos de datos abstractos.
    3. Organización de código.
    4. Funciones.
    5. Punteros y manejo de memoria.
    6. Fugas de memoria.
  2. Estructuras de datos.
    1. Pilas, colas, listas, listas doblemente ligadas.
    2. Árboles: árboles, binarios, recorridos, balanceo, búsqueda.
    3. Algoritmos de búsqueda, ordenamiento y hash.
  3. STL (Standard Template Library)
    1. Vectores
    2. Iteradores.
    3. Vectores bidimensionales.
    4. Colas y listas.
  4. Lenguages con scripts
    1. Python
    2. shell bash
    3. awk
    4. sed

Bibliografía sugerida:

  • Reema Thareja. Data Structures Using C. Oxford University Press, Inc., New York, NY, USA. 2011.
  • Kernighan, Brian W., Rob Pike. El entorno de programaciÛn UNIX. Prentice-Hall Hispanoamericana, 1987.
  • Kernighan, Brian W., and Dennis M. Ritchie. El lenguaje de programación C. Pearson Educación, 1991.
  • Wall, Larry, Tom Christiansen, and Jon Orwant. Programming perl. O'Reilly Media, Inc., 2004.
  • Sanner, Michel F., Python: a programming language for software integration and development. J Mol Graph Model 17.1 (1999): 57-61.
  • Flanagan, David, and Yukihiro Matsumoto. The ruby programming language. O'Reilly Media, Inc., 2008.
  • Marquez, Francisco. Unix-Programacion Avanzada. Alfaomega Grupo Editor, 2005.