PROGRAMACIÓN EN BAJO NIVEL
PROFESOR JAIME ALBERTO PARRA PLAZA
OBJETIVOS: Conocer los bloques funcionales que forman el hardware de un sistema de cómputo Entender cómo ejecuta un computador realmente un programa o software Aprender a realizar una interacción correcta entre hardware, software y firmware
Los objetivos se logran aprendiendo el Lenguaje Ensamblador (Assembly), único lenguaje que permite programar el hardware de la máquina DIRECTAMENTE. Los otros lenguajes se convierten en traductores que ocultan al programador los detalles internos del sistema físico. Surge el interrogante: ¿Para qué aprender Assembly?
Para entender el funcionamiento interno, a nivel electrónico, de un sistema de cómputo. Para entender lo que realmente ocurre cuando se ejecuta un programa.
Al comparar un programa hecho en Assembly con uno hecho en otro lenguaje, puede afirmarse SIEMPRE que es: Más rápido Más pequeño Más eficiente
Pero, ¿qué es lo que realmente PUEDE hacer un computador?. ¿Las tareas que un sistema de cómputo realiza son infinitas o pueden clasificarse en alguna forma?
USUARIO MÁQUINA RESOLVER UN PROBLEMA OBTENER UN SERVICIO RESOLUCIÓN DEL PROBLEMA PRESTACIÓN DEL SERVICIO
PRERREQUISITOS: Para comprender adecuadamente el curso, es recomendable un dominio, entre normal y alto, de los siguientes temas:
Electrónica Digital Álgebra Booleana Sistema Operativo MS-DOS Algoritmia Programación en un lenguaje formal
La Electrónica Digital y el Álgebra Booleana permiten entender cómo funciona la máquina. El Sistema Operativo permite manejar el computador, comunicarse con él. La Algoritmia y la Programación permiten programar u ordenar al computador el cumplimiento de una labor
METODOLOGÍA: 32 sesiones (2 / semana), utilizadas para: Clases magistrales Sesiones Exámenes Parciales Sesiones Laboratorios Asesorías al proyecto final Monitorías de Laboratorio
LIBROS GUÍA: Genérico: Godfrey, J. Terry. Lenguaje ensamblador para microcomputadoras IBM. 1991. Sección software: Abel, Peter. IBM PC assembler language and programming. 1987. Sección hardware: Triebel y Singh. The 8088 and 8086 microprocessors. 1991.
REFERENCIAS: Microsoft corporation. Macro assembler programmer’s guide. 1991. Phoenix technologies. System BIOS for IBM PCs,1991. Brey, Barry. 8086/8088 assembly language programming. 1994. Deitel, Harvey. An introduction to operating systems. 1984.
OTROS LIBROS ÚTILES: Duncan, Ray. Advanced MS-DOS programming. 1988. Norton, Peter. Programmer’s guide to PC and PS/2 systems. 1988. Downton, A.C. Computers and microprocessors. 1992. Matloff, Alan. IBM microcomputer architecture and assembly language. 1992. Sargent y Shoemaker. The IBM PC, from the inside out. 1986.
EVALUACIÓN: Examen parcial 1 20 % Examen parcial 2 20 % Laboratorios 15 % Exposición 15 % Proyecto 30 %
EXÁMENES PARCIALES: Son teóricos y en forma de selección múltiple Buscan establecer el dominio conceptual y de abstracción que se posee sobre los temas dados
LABORATORIOS: Complementan de manera necesaria la teoría expuesta en las clases magistrales Permiten desarrollar habilidades prácticas en el uso de herramientas propias de la disciplina
EXPOSICIÓN: Busca que cada grupo de trabajo socialice con la clase un tema preparado previamente La exposición está acompañada con el desarrollo de una aplicación y de una animación. En general, la primera es una biblioteca de funciones y la segunda un applet
PROYECTO FINAL: Se debe entregar un cronograma de actividades en la Semana 3. La información sobre el proyecto debe consultarse en el URL: http://clotho.puj.edu.co/DIE/Projects
Pedagogía No se puede adquirir el conocimiento si no se hace de manera práctica (aprendizaje activo) La repetición hace al maestro Para aprehender el conocimiento debe hacerse a través de la reflexión
PROFESOR: Email: URL: Oficina: Oficinas Ingeniería Electrónica - Lago jparra@puj.edu.co URL: correo.puj.edu.co/jparra Oficina: Oficinas Ingeniería Electrónica - Lago Teléfono: 3218216
PREGUNTA: ¿Cuáles son las CUATRO funciones esenciales que debe cumplir un sistema operativo para ser considerado como tal?
< FIN DE LA CLASE 0 >