1151006 Introducción a la Programación
Trimestre 2005 Primavera
Instructor: Dr. Francisco
Javier Zaragoza Martínez.
Inicio y fin del curso: Lunes
25 de abril a viernes 8 de julio.
Grupo: CCCC01 (LMV 11:30 a
13:00).
Asesorías: Lunes y
miércoles de 13:00 a 14:30 en la
oficina H-264.
Salón: Sala Ada Byron,
Edificio T, planta alta.
Laboratorio: 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.
- Lunes 9 de mayo: Clase adicional de 13:00 a 14:30 en el
salón E307.
- Martes 17 de mayo: Primera tarea
(operadores). Calificaciones finales y una
posible solución.
- Martes 24 de mayo: Segunda tarea
(decisiones). Calificaciones finales y una
posible solución.
- Miércoles 25 de mayo: Sesión de preguntas de 13:00
a 14:30 en
el salón E307.
- Lunes 30 de mayo: Primer examen (escrito,
individual). Calificaciones finales.
- Martes 31 de mayo: Tercera tarea (ciclos).
Calificaciones finales y una posible solución.
- Miércoles 1 de junio: Por
causas de fuerza mayor, la clase será de 13:00
a 14:30 en
el salón E307.
- Martes 7 de junio: Cuarta tarea
(funciones). Calificaciones finales y una
posible solución.
- Martes 14 de junio: Quinta tarea
(vectores). Calificaciones finales y una
posible solución.
- Jueves 23 de junio: Sexta tarea
(matrices). Calificaciones finales y una
posible solución.
- Viernes 24 de junio: No
podré darles clase. Les dejé un
material preparado aquí, por favor
revísenlo.
- Jueves 30 de junio: Séptima
tarea (cadenas). Calificaciones finales y
una posible solución.
- Lunes 4 de julio: Sesión de preguntas de 13:00
a 14:30 en
el salón E307.
- Martes 5 de julio: Octava tarea
(archivos). ¡Noten que la
hora de entrega es distinta! Calificaciones finales.
- Lunes 11 de julio: Segundo
examen (escrito, individual, de 3PM a 5PM, salón D211).
Calificaciones finales.
- Miércoles 20 de julio: Calificaciones finales
y entrega de actas.
- Miércoles 21 de julio: Por la necesidad de entregar las
actas a tiempo, es decir ayer, no habrá entrevistas.
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/