Taller de programación

Verano 2010

Este es el sitio web del curso de verano de la unidad de aprendizaje Taller de programación (programa analítico en .pdf) impartida por la Dra. Elisa Schaeffer en la FIME de la UANL en verano de 2010 a horario V4-V6 (14:30-17:00) en la sala 4100 del edificio 4.

La lista de correos del grupo es taller-de-progra@googlegroups.com.

Presentación

Esta unidad de aprendizaje contribuye a introducir al estudiante al ámbito de la programación en sus elementos básicos y proporcionarle conocimientos suficientes para que utilice estructuras de datos básicas en la programación y programación modular, para la solución de problemas informáticos.

Propósito

En el desarrollo de esta unidad de aprendizaje se contribuye a la formación de egresados con valores. Asimismo contribuye a que el estudiante desarrolle conocimientos avanzados, generales o especializados, así la como capacidad para aplicarlos a situaciones concretas. Habilidades y herramientas para el aprendizaje autónomo y pone en práctica una dinámica de superación constante. Practica los valores y atributos que la Universidad promueve. Es positivo ante la vida y el estudio; competitivo a nivel internacional por sus conocimientos, destrezas, actitudes y aptitudes. Además posee competencias sociales y capacidades de comunicación y persuasión que le permiten desenvolverse en un contexto internacional. Es emprendedor y ejerce liderazgo, con capacidad para dirigir y coordinar y es capaz de trabajar en equipo y desarrollar proyectos conjuntos.

Compentencias

Unidades temáticas

  1. Fundamentos de la programación
    • Identificar elementos fundamentales de programación estructurada en un lenguaje icónico para la representación de pasos de la solución de problemas
  2. Estructura de programación y codificación
    • Diseñar algoritmos y/o diagramas de flujo que representan la solución de un problema haciendo uso de la programación estructurada. Codificar algoritmos para su ejecución en y/o diagramas de flujo en un lenguaje de programación estructurado utilizando elementos de un lenguaje computacional la computadora.
  3. Programación modular
    • Aplicar las técnicas de programación modular mediante procedimientos, funciones y macros en el desarrollo de programas informáticos.
  4. Estructuras de almacenamiento
    • Manipular estructuras de almacenamiento de datos mediante arreglos, punteros, estructuras, uniones y archivos para el uso eficiente de la información.

Evaluación

EvidenciaPonderación
Reporte10%
Diseño de algoritmos15%
Codificación20%
Programa diseñado25%
Exámenes30%

Producto integrador de aprendizaje

Portafolio que tendrá una selección hecha por el estudiante de la peor y la mejor actividad realizada en la unidad de aprendizaje que incluya el motivo por el cual la seleccionó y una reflexión acerca de su experiencia y aprendizaje de esas actividades, así como también incluirá el programa diseñado que incluye la realización de altas, bajas, cambios y el reporte funcionando correctamente.

Temas, códigos de las sesiones y tareas

La siguiente lista se convertirá día por día a una colección de códigos según lo que se va implementando en las 16 sesiones de clase (dos de ellos siendo de examen), a base del cual se desarrollarán las tareas individuales y los proyectos grupales.

  1. Fundamentos de la programación (reporte en grupo)
    • Plataformas, ambientes y herramientas de programación; compilación y ejecución (primero.c)
    • Rangos de representación; asignaciones y operaciones entre distintos tipos de datos (segundo.c)
    • Manipulación binaria (and, or, xor, etcétera) (tercero.c)
  2. Estructura de programación y codificación (reporte y programa individual)
    • Condiciones y ciclos: Números Fibonacci, detección de números primos y enlistado de factores (cuarto.c)
    • Memoria: Ordenamiento de arreglos (quinto.c)
    • Manipulación de punteros: Listas enlazadas (sexto.c & sexto2.c)
  3. Programación modular (reporte y programa individual)
    • Iteración: Detección de palíndromos (septimo.c)
    • Recursión y archivos: Búsqueda en profundidad (DFS; octavo.c) y por anchura (BFS; T3)
    • Revision de T2 y examen de medio curso (PDF, examen.c)
    • Subrutinas: Cifra RSA (noveno.c)
    • Reuso: Búsqueda tabú para tres-coloreo de grafos (decimo.c)
  4. Revision de T3 (t3.c)
  5. Estructuras de almacenamiento (reporte en grupo)
    • Unir-encontrar: Algoritmos de Prim (onceavo.c) y Kruskal (T4, grupo Ab+Jo)
    • Distancias con algoritmos de Dijsktra (T4, grupo Ri+He+Ad) y Floyd-Warshall (doceavo.c)
    • Tablas de dispersión (extra)
    • Revision de T4 y examen ordinario (PDF, ordinario.c)

Resultados

El nombre del alumno es liga a su blog. Los puntos corresponden a las evidencias de las cuatro unidades temáticas y a los dos exámenes.

Alumno Productos Totales Extras CF
Reportes Algoritmos Codificación Programas Exámenes R A C P E
Abraham 4+3+2+10+5+4+50+9+9+00+4+8+103+5 101418228072
Adriana 4+3+1+00+4+0+00+9+0+00+4+0+00+0 84904025
Héctor 4+2+2+10+4+2+50+9+5+00+3+2+72(3)+6(4+1) 91114128560
Jorge 4+3+2+10+4+4+50+8+9+00+4+8+107+7 1013172214076
Ricardo 4+3+2+10+4+4+50+8+7+00+3+6+75(3)+2(2) 101315167566
Máximo 4+3+2+1 0+5+5+5 0+10+10+0 0+5+10+10 10+20 10 15 20 25 30 n/a 100

Materiales

Materiales generales sobre programación están disponibles en una página adicional.

Actualizado por última vez el 27 de septiembre del 2010.
URL: http://elisa.dyndns-web.com/~elisa/teaching/prog/taller/verano2010.html