115113 Software de Base
Trimestre 2011 Primavera
Instructor: Dr. Francisco
Javier Zaragoza Martínez.
Inicio y fin del curso: lunes 9
de mayo a viernes a viernes 22 de julio de 2011.
Grupo: CSI81 (martes y jueves
de 15:00
a
16:30).
Asesorías: por definirse.
Salón: E-309.
Cupo: 50 estudiantes.
Contenido
Se cubrirá el contenido
oficial del curso (el cual se detalla
abajo). Es posible que el temario se cubra en un
orden distinto al allí mencionado.
- Descripción general de la estructura de una computadora.
- Lenguaje de máquina.
- Diseño de sistemas de programación.
- Ensamblador.
- Cargador y ligador.
- Macro-procesador.
Evaluación
La calificación del curso consta de 40 puntos obtenidos mediante
un proyecto de programación
dividido en varias etapas usando un microprocesador por definirse y 60
puntos obtenidos mediante tres
exámenes
parciales. No
habrá examen global. Además de obtener al menos 30
puntos
en los exámenes y al menos 20 puntos en el proyecto, se
requiere:
- obtener al menos un total de 60 puntos para acreditar con S,
- obtener al menos un total de 73 puntos para acreditar con B y
- obtener al menos un total de 87 puntos para acreditar con MB.
Las tareas y el proyecto se podrán entregar por correo
electrónico a
la cuenta sb en callix
y
podrán estar escritas en C o C++. Su cuenta
está en la misma máquina, a la que se pueden conectar con
ssh y que tiene
dirección IP 148.206.79.29.
Recuerden que, de acuerdo al Reglamento de
Alumnos de la UAM, es falta de los alumnos en contra de la
Institución el suplantar o permitir ser suplantado en la
realización de actividades académicas (Artículo 9)
y se impondrá desde amonestación escrita hasta
suspensión por dos trimestres (Artículo 13).
Calendario
El calendario de clases, de entrega de etapas del proyecto y de
exámenes escritos que muestro abajo es tentativo e irá
apareciendo paulatinamente. He anotado los números
de página de las notas a la derecha
de cada
tema.
- 10/05: Día
feriado.
- 12/05: Inicio del
curso. Software de aplicación y software de base (1-10).
- 17/05: Estructura
del SIC y SIC/XE (11-25). Nos
cambiamos al E-309.
- 19/05: Formatos de instrucción del SIC/XE (26-36).
- 24/05: Ensamblador
simple y código objeto (37-51).
- 26/05: Tablas y
lógica del ensamblador (52-67).
- 31/05: Modos de
direccionamiento del SIC/XE (68-80).
- 02/06: No habrá
clase debido a la presentación de la propuesta de plan de
estudios de Ingeniería en computación.
- 07/06:
Relocalización de programas (81-91) y primera
sesión de preguntas sobre el proyecto.
- 09/06: Primer examen parcial (1-91):
Modos de direccionamiento y ensambladores.
- 14/06: Literales,
símbolos y expresiones (92-110).
- 16/06: Bloques de programa y secciones de control (111-124).
- 21/06: Ensamblado
con símbolos externos (125-135).
- 23/06: Opciones de
diseño del ensamblador (136-147).
- 28/06: Segundo examen
parcial (92-147): Opciones de diseño de ensambladores.
- 30/06: Segunda sesión de preguntas sobre el proyecto.
- 05/07: Cargadores
básico y relocalizador (148-160).
- 07/07: Ligado y
relocalización (161-174).
- 12/07: Opciones de
ligado independientes de la máquina
(175-192).
- 14/07: Opciones de diseño del cargador (193-210).
- 19/07:
Macroprocesadores básicos y algoritmo del
macroprocesador (211-235).
- 21/07: Tercer examen parcial (148-235):
Cargadores,
ligadores
y
macroprocesadores.
- 02/08: Entrega del acta. Cualquier aclaración regresando de
vacaciones.
Bibliografía
- Beck. System Software: An Introduction to
Systems Programming. Addison Wesley.
[Los
capítulos
1
a
4
contienen
todo
el
temario
del
curso.]
- Brookshear. Introducción
a
las
ciencias
de
la
computación. Addison Wesley.
- Donovan. Systems Programming. Mc Graw Hill.
- Kernighan y Pike. El
entorno
de
programación
UNIX. Prentice Hall.
- Kernighan y Pike. La
práctica
de
la
programación. Prentice Hall.
- Levine, G. Computación
y
programación
moderna. Addison Wesley. [Los
capítulos 3 y 5 contienen una introducción al curso.]
- Levine, J. Linkers &
Loaders. Morgan Kaufmann Publishers. [Este libro puede verse como
una continuación del capítulo 5 del curso.]
- Ullman. Fundamental Concepts of Programming Systems. Addison
Wesley.