Download bibliografía basica - Docencia FCA-UNAM
Transcript
INFORMATICA VII (Programación e implementación de sistemas) LICENCIATURA: INFORMATICA (2013-2) LE y EI, Profesor.- Ramón Castro Liceaga (Prof. Tutor) Pagina Web: http://aprender.fca.unam.mx/~rcastro/TINFOVII.doc E-mail: rcastro@aprender.fca.unam.mx Periodo: 21 de enero al 29 de mayo de 2013 Día/Hora: Miércoles de 18:00 a 20:00 y Viernes 16:00 a 18:00 hrs Grupo: 8510 Plan: 2005 Salón: N7 Laboratorio: “E” Díptico de la materia. Objetivo.Al finalizar el curso, el alumno conocerá la definición y forma de construcción del software que hace posible el funcionamiento de las computadoras en diferentes niveles de operación. Jefe de Grupo: PROYECTOS: a).- Documentación y Elaboración de un sistema de información bibliotecario. Líder de Proyecto: Fecha de terminación: TEMAS: 1.-. INTRODUCCION. Objetivo.- Al final del tema, el alumno conocerá los elementos básicos del software y la metodología para la construcción del mismo. 1.1.- Definición de programas de sistema. 1.2.- Lenguajes de programación. 1.3.- Interpretes. 1.4.- Compiladores. 1.5.- Sistemas operativos. 1.6.- Construcción de la automatización. 1.7.- Metodología Soft. Actividades : 1a .- El alumno entregará un control de lectura o resumen en una hoja en Word del documento: Soft Systems methodology. Fecha de entrega: 30/01/13 1b .- Desarrolla un programa en C, C++ que simule el sistema de una Calculadora con las siguientes opciones: Suma, Resta, Multiplicación y División. Fecha de entrega: 13/02/13 1c .- El alumno programará un virus en C que haga mover el cursor del ratón (mouse) en todas las direcciones sin parar... sin causar daños adjuntos a la computadora. Fecha de entrega: 13/02/13 2.- LENGUAJES DE PROGRAMACIÓN Objetivo.- Al final del tema, el alumno conocerá los lenguajes de programación y realizará aplicaciones de desarrollo de software con los mismos. 2.1.- Historia de los lenguajes de programación. 2.2.- Sintaxis de los lenguajes de programación. 2.3.- Etapas de traducción. 2.4.- Modelos formales de traducción. 2.5.- Tipos de datos. 2.6.- Tipos de datos abstractos. 2.7.- Gestión de almacenamiento. 2.8.- Control de secuencia. Actividades : 2a .- El alumno desarrollará los siguientes ejercicios en Lenguaje de Programación Racket Fecha de entrega: 22/02/13 2b .- El alumno desarrollará un programa en Racket de un lenguaje interprete para la suma y resta usando la siguiente expresión aritmética: AE = arithmetic expression donde AE = number | + AE AE | - AE AE Fecha de entrega: 22/02/13 Examen: 1er parcial : Miércoles 27 de febrero. 3.- COMPILADORES. Objetivo.- Al final del tema, el alumno conocerá los elementos básicos de los compiladores y implementará aplicaciones con éstos. 3.1.- Fases de la compilación. 3.2.- Análisis lexicográfico. 3.3.- Token 3.4.- Análisis sintáctico. 3.5.- Análisis semántico. 3.6.- Optimización. 3.7.- Preparación para la generación del código. 3.8.- Generación del código. 3.9.- Fases de compilación en un lenguaje de programación. Actividades : 3a .- Desarrolla un programa en C o C++ que lea una cadena de caracteres (sin espacios en blanco) y analize si cumple con la sintaxis para c++ de una sentencia 'FOR', 'WHILE'. 'DO', 'IF', tambien identifique la informa de cada una de los tokens reconocidos en la instrucción digitada. Fecha de entrega: 08/03/13 4.- SISTEMAS OPERATIVOS. Objetivo.- Al final del tema, el alumno conocerá los sistemas operativos e implementará aplicaciones con éstos. 4.1.- Evolución histórica de los sistemas operativos y sus problemas técnicos. 4.1.1.- Problemas de explotación y soluciones iniciales 4.1.2.-.Procesamiento por lotes (batch) 4.1.3.- Monitores residentes 4.1.4.- Sistemas con almacenamiento temporal de E/S 4.1.5.- Algoritmo del sistema de buffers 4.1.6.- Spoolers 4.1.7.- Sistemas operativos multiprogramados 4.2.-Estructura de los Sistemas Operativos. 4.3.-Procesos. 4.3.1.-Introducción a los procesos. 4.3.2.-Hilos. 4.3.3.-Sincronización de procesos. 4.4.-Bloqueos. 4.5.- La gestión de Entrada/Salida. 4.5.1.-Principios de entrada/salida de hardware. 4.5.2.-Principios de entrada/salida de software. 4.6.-Gestión de la memoria. 4.7.-Gestión de archivos. 4.8.-Sistemas distribuidos. 4.9.-Seguridad. 4.10.- Funciones de los Sistemas Operativos multiprogramados 4.11.- Llamadas al sistema operativo 4.11.1.- Modos de ejecución en un CPU 4.11.2.- Bibliotecas de interfaz de llamadas al sistema 4.12.- Interrupciones y excepciones 4.12.1.- Tratamiento de las interrupciones 4.12.2.- Importancia de las interrupciones 4.12.3.- Excepciones 4.12.4.- Clases de excepciones 4.12.5.- Importancia de las excepciones 4.12.5.- Manejo de excepciones en lenguajes de programación Orientados a Objetos 4.13.- Componentes de un sistema operativo. 4.13.1.- Gestión de procesos 4.13.2.- Gestión de la memoria principal 4.13.3.- Gestión del almacenamiento secundario 4.13.4.- El sistema de E/S 4.13.5.- Sistema de archivos 4.13.6.- Sistemas de protección 4.13.7.- Sistema de comunicaciones 4.13.8.- Programas de sistema 4.14.9.- Gestor de recursos 4.14.- Tareas y usuarios 4.14.1.- Administración de tareas 4.14.2.- Administración de usuarios 4.14.2.1.- Monousuario 4.14.2.2.- Multiusuario. 4.15.- Manejo de recursos 4.15.1.- Centralizado 4.15.2.Distribuido 4.16.- Sistemas Operativos ( PCs ) características técnicas, versiones y tipo de licencias. 4.16.1.- Windows 4.16.2.- Mac OS 4.16.3.- Linux 4.16.4.- AmigaOS 4.17.- Sistemas Operativos ( Dispositivos Moviles ) características técnicas, versiones y tipo de licencias 4.17.1.- Symbian 4.17.2.- Android 4.17.3.- iOS 4.17.4.- Windows Mobile Actividades : 4b .- El alumno desarrollará un programa en Racket que calcule el valor de dólares a euros Fecha de entrega: 5/04/13 Examen: 2o parcial : Miércoles 10 de abril 5.- INSTALACION DE SOFTWARE. Objetivo.- Al final del tema, el alumno desarrollara una instalación de software. 5.1.- Que es una instalación de software 5.2.- Técnicas para la instalación de software. 5.3.- Algoritmo (pasos) para la instalación de software 5.4.- Bibliotecas de software. 5.6.- Sistema de gestión de paquetes 5.7.- Término de la instalación 5.8.- Ejemplo de instalación de software (Movil, PC, Sistema Operativo, etc) 5.9.- Desinstalación de software. Actividades : 5b .- El alumno desarrollará una instalación de software en algún sistema informático y entregará un reporte ilustrado en un documento de Word no mayor a cinco hojas. Fecha de entrega: 24/04/13 6.- CONFIGURACION DE SOFTWARE. Objetivo.- Al final del tema, el alumno desarrollara una configuración de software. 6.1.- Que es la configuración de software. 6.2.- Software Configuration Management (SCM). 6.3.- Funciones del (SCM) 6.4.- Algoritmo (pasos) para la configuración de software 6.5.- Control de versiones. 6.5.1.- Software de administración de versiones. 6.6.- Ejemplos de configuraciones en sistemas (redes, Bios, teclados, PCs, etc). Actividades : 6b .- El alumno desarrollará una configuración de software en algún sistema informático y entregará un reporte ilustrado en un documento de Word no mayor a cinco hojas. Fecha de entrega: 17/05/13 Examen: 3er parcial : Miércoles 22 de mayo EVALUACION: EXAMENES PROYECTO TAREAS Y PROGRAMAS 60 % 10% 30% BIBLIOGRAFÍA BASICA CARRETERO Pérez, Jesús, Sistemas operativos, una visión aplicada, México, Mc. Graw-Hill, 2000, 732 pp. PRATT, Terreence, Lenguajes de programación. Diseño e Implementación, 4ª. Ed., México, Prentice-Hall, 1998. PÉREZ, César., Oracle 9i Servidor de aplicaciones, Red y Programación, México, coedición Alfa omega-Rama, 2004, 464 pp. SIBERSHATZ, Sistemas Operativos, México, Limusa-Wiley, 2002. STALLINGS, William, Sistemas Operativos, 4ª Ed,. España, Prentice-Hall, 2001. LEMONE, Karen, Fundamentos de Compiladores, México, C.E.C.S.A., 1998. Kernighan,B.W. y Pike Rob, El entorno de programación UNIX, México, Prentice-Hall,. SILBERSCHATZ, Abraham, Sistemas Operativos,5ª. Edición, México, Pearson, 1999, 888 pp. TANNENBAUM, Andrew S., Sistemas Operativos Modernos, 2a. Edición, México, Prentice-Hall, 2003, 976 pp. TANNENBAUM, Andrew, S., Sistemas operativos. Diseño e implementación, 2ª. Edición, México, Prentice Hall, 1998, 992 pp. BIBLIOGRAFÍA COMPLEMENTARIA AHO, Alfred V., Ravi Sethi y Jeffrey D. Ullman, Compiladores, principios, técnicas y herramientas, México, Addison Wesley Longman, 1990, 832 pp. MAK, Ronald, Writing Compilers and Intrpreters An Applied Approach Using C++, USA: Wiley, 1996. ROBBINS, Arnold, UNIX IN A NUTSHELL, 3ª Ed., USA: O’REILLY, 1999. SIEVER, Ellen, LINUX IN A NUTSHELL, 3ª Ed., USA: O’REILLY, 2000. TANNENBAUM, Andrew, S., Sistemas operativos distribuidos, México, Prentice Hall, 1996, 617 pp