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, 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án talleres en el que se ponga en práctica algunos conceptos de computación y exámenes de seguimiento de avance.

Contenido

  • 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.

Bibliografía

  1. Harvey M. Deitel, Paul J. Deitel, Como programar en C/C++. 6th Edicion. Prentice Hall Hispanoamericana, 2010.
  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.
  6. Visualising data structures and algorithms through animation http://visualgo.net/

Material de este semestre

 
materias/laboprog.txt · Última modificación: 2015/01/25 19:26 por lfrincon
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki