Laboratorio de Programación (300CIP007)

 

Descripción del Curso

El curso de Laboratorio de Programación busca proveer las herramientas necesarias para madurar los conceptos adquiridos en
Introducción a la Programación y desarrollar proyectos de mayor escala.

Información Básica

Objetivos Instruccionales

Al finalizar el curso los participantes podrán:

  • Diseñar y describir apropiadamente la solución de problemas básicos de la computación.
  • Utilizar diferentes técnicas de programación para solucionar problemas.
  • Reconocer la necesidad y utilidad de documentar apropiadamente el código fuente.
  • Usar herramientas útiles para desarrollo de proyectos.
  • Identificar las principales características prácticas de los lenguajes de programación compilados.

Competencias que se Desarrollan

  • Habilidades específicas: Uso del lenguaje C, herramienta de texto Latex, compilador Gcc y herramienta Make.
  • Conceptos Fundamentales de Computación: Diseño de algoritmos, programación modular y manejo de interprete de comandos y documentación de código fuente.
  • Competencias Generales:
    • Desarrollo modular de programas.
    • Análisis y diseño de soluciones con pseudocódigo.
    • Lectura y escritura de archivos.
    • Trabajo en grupo, escritura de reportes.

Metodología

El curso es presencial y con alta dosis de participación y trabajo en clase. Para algunas sesiones de clase se asignarán investigaciones, ejercicios y lecturas. Durante la sesión se expondrán los conceptos acompañados de ejemplos, se fomentará la participación de los estudiantes. Se realizará un taller semanal en el que se ponga en práctica algunos conceptos de computación.

Contenido

Temas
Presentación del curso e Introducción. 1
Introducción a lenguajes compilados, lenguaje C y compilador Gcc. 2 – 3
División entre cabeceras e implementación. Input/output básico. Pseudocódigo para diseño de soluciones. 4 – 5
Ciclos. Uso de arrays. Introducción a herramienta make. 6 – 7
Sentencia switch. Uso de matrices. Introducción a la documentación de código. 8 – 9
Utilidad de los punteros. Uso de IDE Eclipse. 10 – 11
Presentación de información al usuario (GUI). 12 – 13
Escritura de archivos. 14 – 15
Lectura de archivos y almacenamiento en TAD Listas. 16 – 17
Lectura/escritura de archivos usando POSIX y ANSI. 18 – 19
Solución de problemas difíciles con método ingenuo 20 -21
Algoritmos básicos de ordenamiento. 22 – 23
Uso de estructuras de datos; Pilas. 24 – 25
Uso de estructuras de datos, Colas. 26 -27
Uso de arboles binarios. 28 -29
Quiz final de curso 30
Entrega de definitivas y despedida 31

Bibliografía

  1. Harvey M. Deitel, Paul J. Deitel, Como programar en C/C++. Prentice Hall Hispanoamericana, 1994.
  2. Herbert Schildt, Programación en lenguaje C. McGraw-Hill, 1988.
  3. Brian W. Kernighan, Dennis M. Ritchie, El lenguaje de programación C. Prentice Hall Hispanoamericana, 1985.
  4. James F. Peters, Hamed M. Sallam, Compleat C. Prentice Hall, 1986.
  5. Aaron M. Tenenbaum, Langsam Yedidyah, Moshe J. Augenstein, Data structures using C. Prentice Hall, 1990.

Material de este semestre