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.
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.
Habilidades específicas: Uso del lenguaje C, 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.
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án talleres en el que se ponga en práctica algunos conceptos de computación y exámenes de seguimiento de avance.
Pseudocódigo para diseño de soluciones, lenguajes compilados, lenguaje C, compilador Gcc,entradas y salidas.
Operadores, asignación, lógicas, prescendencia.
Lenguaje C, tipos de errores, manejo de cadenas, operadores, prescendencia, pre incremento y post decremento, prioridad y asociatividad.
División entre cabeceras e implementación, directivas.
Sentencias if anidadas, if else, ciclos while.
Instrucciones switch, do-while, sentencia for, break,continue.
Herramienta make.
Documentación de código.
Punteros.
Arreglos.
Cadenas.
Matrices.
Memoria dinámica, typedef, structs, enums.
Lectura/escritura de archivos de texto y binarios.
Algoritmos básicos de ordenamiento- Burbuja.
Algoritmos básicos de ordenamiento-Selection-Insertion.
Algoritmos de ordenamiento quick sort.
Algoritmos de ordenamiento merge sort.
Uso de la estructura de datos listas sencillas.
Uso de la estructura de datos listas doblemente enlazadas.
Uso de estructuras de datos pilas y colas.
Uso de árboles binarios.
Uso de grafos.
Harvey M. Deitel, Paul J. Deitel, Como programar en C/C++. 6th Edicion. Prentice Hall Hispanoamericana, 2010.
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.
-