115106 Introducción a la Programación
Trimestre 2005 Invierno
Instructor: Dr. Francisco
Javier Zaragoza Martínez.
Inicio y fin del curso: Lunes
10 de Enero a Miércoles 30 de Marzo.
Grupos: CCCC01 (LMV 13:00 a
14:30) y CCCC81 (LMV 16:00 a 17:30).
Asesorías: Martes de
13:00 a 14:30 y de 16:00 a 17:30 en la
oficina H-264.
Salones: CCCC01 y
CCCC81 en la sala Ada Byron, Edificio T, planta alta.
Laboratorios: En la sala Ada
Byron, Edificio T, planta alta.
Contenido
Se cubrirá el contenido
oficial del curso (el cual se detalla
abajo) usando el lenguaje C. Es posible que el temario se cubra en un
orden distinto al allí mencionado. Se mostrará el uso de
los compiladores GCC para los ambientes Windows y UNIX.
- Introducción
a la computación.
- Arquitectura
de computadoras.
- Algorítmica.
- Desarrollo de algoritmos.
- Programación estructurada.
- Arreglos.
- Archivos.
Evaluación
El 70% de la calificación final corresponde a la
elaboración, prueba y presentación de ocho programas en lenguaje C. Cada
uno de estos programas tendrá un valor de 10 puntos, que
serán otorgados
siempre y
cuando el programa se entregue a tiempo, funcione correctamente en el
ambiente UNIX y los
estudiantes sean capaces de explicar cómo y porqué
funciona. La calificación más
baja no será tomada en cuenta. Los programas
se entregarán en equipos
de uno a tres estudiantes y
se deberán entregar por correo electrónico.
El 30% restante de la calificación final corresponde con dos evaluaciones individuales en
clase. Cada uno de estos exámenes tendrá un valor de 30
puntos. El porcentaje correspondiente a los exámenes se
obtendrá de sumar las calificaciones obtenidas en cada uno de
los dos exámenes junto con la calificación más
baja de las ocho tareas y dividiendo el resultado entre dos. No
habrá examen global. Se
requiere:
- obtener al menos 42 en tareas y al menos 18 en
exámenes para acreditar con S.
- obtener al menos 53 en tareas y al menos 21 en
exámenes para acreditar con B.
- obtener al menos 64 en tareas y al menos 24 en
exámenes para acreditar con MB.
Calendario
El calendario de entrega de tareas y de
exámenes escritos que muestro abajo es tentativo. Los enunciados
de las tareas estarán disponibles en esta página con al
menos una semana de anticipación. Pasada
la fecha de entrega, también aparecerá un programa que
resuelve la tarea, además de los casos de prueba usados en la
evaluación. Nota:
Recuerde que la copia de tareas será fuertemente penalizada y no
serán avisados.
- Miércoles 9 de Febrero: Primera tarea
(operadores). Calificaciones finales y una
posible solución.
- Miércoles 16 de Febrero: Segunda tarea
(decisiones). Calificaciones finales y una
posible solución.
- Lunes 21 de Febrero: Primer examen (escrito,
individual). Calificaciones.
- Miércoles 23 de Febrero: Tercera tarea
(ciclos). Calificaciones finales y una
posible solución.
- Lunes 7 de Marzo: Cuarta tarea
(funciones). Calificaciones finales y una
posible solución.
- Martes 8 de Marzo:
Reposición de clase (vectores) en la Sala B006 de
13:00 a 14:30.
- Lunes 14 de Marzo: Quinta tarea
(vectores). Calificaciones finales y una
posible solución.
- Martes 15 de Marzo:
Reposición de clase (cadenas) en la Sala B006 de 13:00 a
14:30.
- Viernes 18 de Marzo: Sexta tarea
(matrices). Calificaciones finales y una
posible solución.
- Martes 22 de Marzo:
Sesión de preguntas en la Sala B006 de 13:00 a
14:30.
- Lunes 28 de Marzo: Séptima tarea
(cadenas). Calificaciones finales y una
posible solución.
- Miércoles 30 de Marzo: Segundo examen
(escrito,
individual). Calificaciones.
- Jueves 31 de Marzo: Aunque CBI programó exámenes
globales, recuerden que en este curso no habrá.
- Viernes 1 de Abril: Octava tarea
(archivos). Calificaciones finales y una
posible solución (próximamente).
- Miércoles 6 de Abril: Calificaciones finales
(actualizadas el 4 de Abril) y entrega de actas.
- Martes 19 de Abril: Exámenes de recuperación [Grupo
I01,
10:00 a 13:00, Titular Francisco Zaragoza, Suplente Beatriz
González] y [Grupo I81, 16:00 a 19:00, Titular Beatriz
González, Suplente Francisco Zaragoza].
Compiladores
Los estudiantes podrán hacer uso de cualquiera de los siguientes
compiladores de C que se pueden obtener de forma gratuita:
- Gcc para UNIX, que ya
está
instalado en la máquina ce.azc.uam.mx donde tendrán una
cuenta. Aquellos que deseen usar este recurso fuera de los laboratorios
de la UAM Azcapotzalco deberán instalar el SSH
Client para Windows en sus computadoras.
- Djgpp para Windows
con
el ambiente rhide. Instrucciones
de instalación aquí.
Libre, basado en gcc.
- Borland Turbo C 2.01
o Borland Turbo C++
1.01 para MS-DOS. Instrucciones de instalación aquí. Comercial, pero gratuito.
- Bloodshed Dev-C++ para Windows.
Libre, basado en gcc.
- Lcc-win32 para
Windows. Gratuito para uso no comercial.
- Hay un compilador de C en Darwin para Mac OS X.
Lean este
artículo. Requiere registro gratuito, basado en gcc.
Bibliografía
- El lenguaje de
programación C. Kernighan y Ritchie.
Pearson.
- Ejercicios de
programación. Gregorio, et al. Pearson.
- El lenguaje de programación C. García, et al.
Pearson.
- Fundamentos
de programación C/C++. Peñaloza.
Alfaomega.
- Notas del
curso SAI. Silva y Leyva. UAM Azcapotzalco.
- La práctica
de la programación. Kernighan y Pike,
Pearson.
- El entorno de
programación UNIX. Kernighan y Pike. Pearson.
- Diversas tablas relacionadas
con el
lenguaje C y el código ASCII.
La versión más reciente de esta página se puede
encontrar en http://ce.azc.uam.mx/profesores/franz/ip/