NOMBRE DE LA MATERIA:CC206 PROGRAMACIÓN DE SISTEMAS.
CARÁCTER DEL CURSO: OBLIGATORIO.
Aacute;REA DE FORMACIÓN: BÁSICA PARTICULAR.
PREREQUISITOS: ESTRUCTURA DE ARCHIVOS.
DEPTO. DE ADSCRIPCIÓN: CIENCIAS COMPUTACIONALES.
CARGA HORARIA GLOBAL: 80 HORAS.
CARGA HORARIA SEMANAL: 4 HORAS.
VALOR EN CRÉDITOS: 11 CRÉDITOS.


OBJETIVO GENERAL.
COMPRENDER, EN UN NIVEL OPERATIVO, LOS PRINCIPIOS DE FUNCIONAMIENTO DE LAS COMPUTADORAS BASADAS EN EL MODELO DE VON NEWMANN Y ARQUITECTURAS DE HARVARD. ENTENDER Y MANEJAR LAS DIVERSAS MODALIDADES Y MECANISMOS DE ENSAMBLADO, CARGA, MACROPROCESAMIENTO Y EJECUCIÓN DE PROGRAMAS.

OBJETIVOS ESPECÍFICOS.
EXPRESADOS EN CADA MÓDULO DEL CONTENIDO.

CONTENIDO TEMÁTICO PRINCIPAL.
Módulo 1: Estructura de la computadora.
Objetivo: Entender con detalle los procesos lógicos que suceden en una computadora para que pueda ejecutar un programa en lenguaje máquina de una plataforma que en particular se define al iniciar el curso.
1.1 El modelo de Von Newmann.
1.2 Estructura lógica del procesador.
1.3 Lenguaje máquina.
1.4 Conjunto de registros y modelo de programación.

Módulo 2: Ensambladores.
Objetivo: Entender y manejar los diferentes esquemas de ensamblado. Tener la capacidad de programar en lenguaje ensamblador de alguna plataforma. Diseñar un ensamblador de dos pasos.
2.1 Relación Arquitectura de máquinas y ensamblador.
2.2 Modalidades de ensamblado.
2.3 Técnicas de ensamblado.
2.4 Gestión de memoria en el ensamblador.
2.5 Diseño y programación del ensamblador de dos pasos.

Módulo 3: Cargador-Ligaador.
Objetivo: Entender el funcionamiento de los esquemas más importantes de la liga de módulos objeto y rutinas de biblioteca.
3.1 Clases de cargadores.
3.2 Relación cargador-sistema operativo.
3.3 Funciones del editor de enlace.
3.4 El problema de liga de objetos y métodos de solución.
3.5 Diseño y programación de un cargador.

Módulo 4: Macroprocesadores.
Objetivo: Entender el funcionamiento de las diversas modalidades de macroprocesamiento.
4.1 Importancia teórica de las macroexpresiónes.
4.2 Usos de un macroprocesador.
4.3 Macroprocesadores con argumentos y macroprocesadores recursivos.
4.4 Incorporación de un procesador de macros al ensamblador.

MODALIDAD DE ENSEÑANZA-APRENDIZAJE. Para la realización de este curso, se recomienda que el profesor asesore y supervise el proceso de formación y retención de cada alumno, además de comprobar la realización de las prácticas del taller de Programación de Sistemas.

BIBLIOGRAFÍA BÁSICA. - Barry Brey, Microprocesadores avanzados de Intel. Prentice-Hall.
- Beck, Leland, Software de Sistema.Addison-Wesley.

MATERIAL DE APOYO ACADÉMICO.
- Notas sobre el curso.
- Pizarrón y gis.
- Acetatos y proyector (data-show también).
- Equipo de cómputo (PC y estaciones de trabajo)

CRITERIOS DE EVALUACIÓN.
Se evaluará durante el período escolar mediante:
- Tareas, trabajos de investigación, exámenes parciales y proyecto final.
En caso de no aprobar el curso, el alumno presentará posteriormente un exámen de promoción departamental.

CRITERIOS DE CALIFICACIÓN.
La calificación se integra así:
- 50% en exámenes parciales.
- 10% en trabajos de investigación.
- 40% proyecto terminal.

CRITERIOS DE ACREDITACIÓN.
Haber obtenido un promedio global de 60 puntos de un máximo de 100 y haber cursado.
El taller de Programación de Sistemas completando sus prácticas.

COMPETENCIAS QUE SE PUEDEN ADQUIRIR.
- Dominio de la programación de un sistema computacional en lenguaje ensamblador.
- Conocimiento de los modelos de ejecución de procesos en diversas plataformas.
- Capacidad para diseñar programas a nivel de sistema teniendo disponibles las hojas de datos de arquitectura y modelo de programación de diversas plataformas.

APLICACIÓN PROFESIONAL.
Entender la importancia de los programas de sistemas. Su diseño e implementación de acuerdo a necesidades y especificaciones dadas en problemas de la Industria, Comercio y Sociedad.