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
-
Créditos: 2
-
Horas de Clase: 3 / semana
-
Horas de trabajo independiente: 3 / semana
-
Prerequisitos: Introducción a la Programación (300CIP001)
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
-
Harvey M. Deitel, Paul J. Deitel, Como programar en C/C++. Prentice Hall Hispanoamericana, 1994.
-
Herbert Schildt, Programación en lenguaje C. McGraw-Hill, 1988.
-
Brian W. Kernighan, Dennis M. Ritchie, El lenguaje de programación C. Prentice Hall Hispanoamericana, 1985.
-
James F. Peters, Hamed M. Sallam, Compleat C. Prentice Hall, 1986.
-
Aaron M. Tenenbaum, Langsam Yedidyah, Moshe J. Augenstein, Data structures using C. Prentice Hall, 1990.
Material de este semestre