UNIVERSIDAD DEL VALLE DE MÉXICO PROGRAMA DE ESTUDIOS DE LICENCIATURA MES XXI – II NOMBRE DE LA ASIGNATURA: ÁREA DEL PLAN: IU ( ) PROGRAMACIÓN AVANZADA DE SISTEMAS BP ( ) EP (X) FECHA DE ELABORACIÓN: HORAS A LA SEMANA DI ( ) TEÓRICAS CLAVE: 232768 ASIGNATURA ANTECEDENTE: ABRIL 16, 2001. 1 PRÁCTICAS 4 TOTAL 5 NINGUNA CRÉDITOS: TOTAL DE HORAS – CLASE POR ASIGNATURA: 6 45 OBJETIVO GENERAL El estudiante reforzará su enfoque de desarrollo de sistemas, complementando su conocimiento en técnicas de programación, empleando algoritmos y librerías avanzadas como lo son gráficos de computadora en 2D y 3D, algoritmos de compresión e interfaces de comunicación. ÍNDICE DE UNIDADES 1. 2. 3. 4. 5. 6. 7. 8. Proceso de desarrollo de software Una revisión a la programación avanzada Fundamentos (ensamblador, gráficos e interrupciones) Lenguaje ensamblador Memoria dinámica Manejo de gráficos Graficación 2D Tercera dimensión No. 1 HORAS UNIDAD OBJETIVO 4 1. Proceso de desarrollo de software El estudiante analizará la importancia del desarrollo de software como una vía factible para la cimentación de negocios basados en software. 5 2. Una revisión a la programación avanzada El estudiante comprenderá los estilos de programación lineal, procedural, por objetos y componente, entendiendo los contras y beneficios de cada estilo. 5 3. Fundamentos (ensamblador, gráficos e interrupciones) El estudiante utilizará al lenguaje ensamblador para proyectos de graficación, comunicación, archivos y acceso al BIOS. 10 4. Lenguaje ensamblador El estudiante aplicará la programación de lenguaje ensamblador a través del entorno de programación del lenguaje C. 6 5. Memoria dinámica El estudiante fusionará el lenguaje C con el lenguaje ensamblador para poder desarrollar aplicaciones avanzadas. 6 6. Manejo de gráficos El estudiante conocerá las diversas técnicas para la administración de memoria de la computadora, principalmente la paginación en gráficos. 4 7. Graficación 2D El estudiante aplicará técnicas para el manejo de gráficos por computadora aprovechando las interrupciones realizadas por medio de ensamblador. 5 8. Tercera dimensión El estudiante aplicará algoritmos para la generación de gráficos avanzados por computadora, con la ayuda del ensamblador y técnicas de memoria dinámica. No. 2 LISTADO DE UNIDADES, TEMAS Y SUBTEMAS ESTRATEGIAS DE INSTRUCCIÓN 1. Proceso de desarrollo de software Exposición 1.1 Metodología, versiones, fases del desarrollo Diagramas Conceptuales 2. Una revisión a la programación avanzada Asesoría EXPERIENCIAS DE APRENDIZAJE ESTRATEGIAS DE EVALUACIÓN Retroalimentación de conceptos Tres exámenes Visual C++ parciales (Borland) Aplicación de conceptos con codificación Prácticas de laboratorio 2.1 Alcances y aplicaciones reales 3.1 La importancia del lenguaje ensamblador 3.2 Aplicaciones gráficas 3.3 Tercera y segunda dimensión 3.4 Interrupciones 4. Lenguaje ensamblador 4.1 Acceso al lenguaje desde C 4.2 Operaciones básicas 4.3 Desbordamiento 4.4 Variables 4.5 Interrupciones 5. Memoria dinámica 5.1 Modelos de memoria estándar 5.2 Modelos de memoria mixtos 5.3 Soporte MS-DOS para asignación de memoria. 5.4 Manipulación de bloques de memoria 5.5 Soporte MS-DOS para manipulación de bloques de memoria REFERENCIAS BIBLIOGRÁFICAS BÁSICA HANSEN, Per Brinch. Operating Systems. Edit. Prentice Hall. México, 1998. Ejercicios Resúmenes 3. Fundamentos (ensamblador, gráficos e interrupciones) SOFTWARE Proyecto final Investigación bibliográfica ACM. SIGOPS. Edit. ACM. USA, 2001. MADNICK, Stuart E. y Donovan John J. Operating Systems. Edit. Computer. USA, 1996. COMPLEMENTARIA BERTELSONS, Boris y Rasch Mathias. Programación Avanzada. Edit. Compulic. GHEZZI, Carlo and Jazayen Medí. Programming Languaje Concepts. Edit. Wiley KRUSGLINHKI, J. David J. Programación Avanzada con MS Virtual C++. Edit. Microsoft Press. No. 3 LISTADO DE UNIDADES, TEMAS Y SUBTEMAS ESTRATEGIAS DE INSTRUCCIÓN EXPERIENCIAS DE APRENDIZAJE ESTRATEGIAS DE EVALUACIÓN SOFTWARE REFERENCIAS BIBLIOGRÁFICAS 6. Manejo de gráficos 6.1 Conceptos técnicos 6.2 Memoria 6.3 Mapas de bits 6.4 Resoluciones 6.5 Estructura 6.6 Inicialización de modo gráfico 6.7 Páginas 6.8 Fuentes 6.9 Scroll 6.10 Sprite (concepto y movimiento) 7. Graficación 2D 7.1 Graficación de puntos y líneas 7.2 Máscaras 8. Tercera dimensión 8.1 Fundamentos matemáticos 8.2 Representación de cuerpos 3D en 2D 8.3 Modelos de alambre 8.4 Rotación 8.5 Ocultamiento de líneas 8.6 Luces y sombras 8.7 Texturas 8.8 El puerto paralelo 8.9 Acceso a la Impresora 8.10 Interrupciones 8.11 Desarrollo de interfaces de comunicación No. 4