UANL

Lenguaje ANSI-C

Verano 2011

Este es el sitio web de la unidad de aprendizaje Lenguaje ANSI-C impartida por la Dra. Elisa Schaeffer en la FIME de la UANL en el verano del 2011 en el horario V4-6 (14:30-17:00) en el salón 4200.

Presentación

Esta unidad de aprendizaje marca el inicio de las competencias de desarrollo de software para fundamentar la visión del estudiante con respeto a la programación. A través del lenguaje de programación ANSI C, utilizada ampliamente por ejemplo en el cómputo integrado y supercomputadoras de alto grado de paralelismo, el estudiante conoce y aplica estructuras tales como condiciones, ciclos, subrutinas y punteros. Por comparación, se utiliza también el lenguaje Python para conocer la operación de las mismas estructuras en otro lenguaje y así poder diferenciar entre el sintáxis de un lenguaje particular y la paradigma de programación estructurada en sí.

Unidades temáticas

Son 14 sesiones; la sesión 14 contiene un examen oral que vale un máximo de 10 puntos con posibilidad para hasta 10 puntos extra. Los temas de las demás sesiones se detallan abajo.

  1. Fundamentos: Variables, asignación y aritmética (4 sesiones)
    • Compilación versus interpretación - primera.c
    • Sistema binario y operaciones binarias - segunda.c
    • Tipos de datos y rangos de representación - tercera.c
    • Operaciones aritméticas y precedencia
  2. Estructura: Lógica, condiciones y ciclos (2 sesiones)
    • Lógica computacional básica; Condiciones: if, ?: y switch-case - cuarta.c
    • Ciclos: while, do-while y for - quinta.c
  3. Modularidad: Rutinas y punteros (4 sesiones)
    • Rutina principal y parámetros de línea de instrucciones - sexta.tar.gz
    • Arreglos de dimensión arbitraria y manejo de memoria - septima.c
    • Subrutinas; sus argumentos y valores de salida - matrices.c
    • Subrutinas recursivas - noveno.tar.gz
  4. Almacenaje: Estructuras de datos simples (4 sesiones)

Diapositivas
Extra sobre punteros a funciones: onceavo.tar.gz

Producto integrador de aprendizaje

Un portafolio de programas implementadas en el lenguaje ANSI-C. Cada martes y jueves se entrega una tarea (seis tareas en total, 15 puntos cada uno, dándo un total de 90). La entrega es a través de un blog personal de cada alumno. La liga al blog se debe mandar a la profesora durante el primer día de veranos. El contenido de la tarea se especifica en clase a más tardar la clase anterior a su entrega.

Soluciones copiadas de libros, sitios web (incluyendo Wikipedia) y de otros alumnos resultan en la reprobación inmediata de la unidad completa. No lo intenten. Mala idea. Por ahí no es. Es mucho mejor entregar algo propio incompleto que algo que contiene partes copiadas.

  1. Para el primer martes: breve ensayo sobre la aplicabilidad de ANSI-C
  2. Para el primer jueves: operaciones binarias
  3. Para el segundo martes: un clasificador simple con condiciones
  4. Para el segundo jueves: un clasificador iterativo con ciclos
  5. Para el tercer martes: colas y pilas
  6. Para el tercer jueves: árboles o grafos

Resultados

Participante Tareas Examen Total Extraord.
1 2 3 4 5 6
Adolfo 15 12 15 14 14 7+2+3
5
7+6 100 -
Edgar 9 12 13 NP 13+2+3 NP+4+1
2+1+1
1+1
4+5 72 -
Edwin 4 9+4 11 7+5+2 3+3 NP+2+2 NP(1+1) 52 54
Emanuel 14 5 15+6+4 13 10+3 NP+5 4+2 81 -
Humberto 3 9 11+4 12 0+3+2 NP+1+1
2+1+2
2+2+2
2+2+2
5+4 72 -
Isaac 8 5 NP 5 NP+3 NP NP 21 -
Jesús 15 14 15 14 NP NP+11 6+2 77 -
Leonardo 12 14 15+8 15+2+3
4
14+6 NP+5 5+2 100+5 -
Leopoldo 3 4+3+2
2
10+3 12+3 7+2+1 NP+3+3
1+2+3
5+1+1
1+3
2+3 80 -
Ludim 3 3+5 12 6 2 NP+4+2
1+3+3
2+2+2
2+2+1
2+1+2
2+2 64 -
Luis 5 8 15+2 13 14 NP+1+2
2+10
7+2 81 -
Lupita 0 13 12 NP+3 NP NP+3+2
4+2
4 41 -
Mariana - 15+5 15+2+4
6+3
15 15+3+2 7+2+2
4
8+8 100+16 -
Norma 10 9 12 12 NP+4+3 3+2+5
6+2+2
4+2 76 -
Uriel 5 11 11+3+2 12+6 NP+2+2
1
NP+3+2
2+2
6+4 74 -

Materiales

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

Actualizado por última vez el 15 de julio del 2011.
URL: http://elisa.dyndns-web.com/~elisa/teaching/prog/ansic/2011/