Anexo 6 Materias Exclusivas de Ingeniería en Computación

Anuncio
Anexo 6
Materias Exclusivas de Ingeniería en Computación
Nombre de la materia : .
Clave:
No. De horas /semana :
Duración semanas:
Total de Horas :
No. De créditos :
Prerrequisitos :
MATEMÁTICAS DISCRETAS
CI7000-T
4
16
64
8
IA7000-T
Objetivo
Que el alumno adquiera las bases mínimas de matemáticas discretas para proseguir su desarrollo en cualquier rama de las ciencias
computacionales.
Contenido
1.
2.
3.
4.
5.
6.
7.
Inducción matemática
Algoritmos y programas
Conjuntos
Funciones
Técnicas de análisis
Estructuras algebraicas
Teoría y algoritmos de grafos
Bibliografía básica
James L. Hein. Discrete Structures, Logic, and Computability. Jones and Bartlett Publishers, Inc. 2nd Edition. 2001.
Alfred V. Aho. y Jeffrey D. Ullman. Foundations of Computer Science, C Edition. W.H. Freeman, 1995.
Kenneth H. Rosen. Discrete Mathematics and its Aplications. McGraw-Hill. 4th Edition, 1998.
Metodología de enseñanza-aprendizaje:
Revisión de conceptos, análisis y solución de problemas en clase:
Lectura de material fuera de clase:
Ejercicios fuera de clase (tareas):
Investigación documental:
Elaboración de reportes técnicos o proyectos:
Prácticas de laboratorio en una materia asociada:
Visitas a la industria:
(X)
(X)
(X)
( )
( )
( )
( )
Metodología de evaluación:
Asistencia:
Tareas:
Elaboración de reportes técnicos o proyectos:
Exámenes de Academia o Departamentales
(X)
(X)
( )
(X)
A6-1
Nombre de la materia:
Clave:
No. De horas /semana :
Duración semanas:
Total de Horas :
No. De créditos :
Prerrequisitos :
LENGUAJES FORMALES Y AUTÓMATAS
CI7001-T
3
16
48
6
CI7000-T
Objetivo
Este curso introduce al estudiante al estudio de lenguajes formales que operan en máquinas computacionales abstractas.
Contenido
1.
2.
3.
4.
5.
6.
7.
Conceptos matemáticos preliminares
Introducción a las máquinas
Dispositivos, máquinas y programas
Simulación
Máquinas finitas y lenguajes regulares
Lenguajes libres de contexto
Máquinas de pila y contador.
Bibliografía básica
Robert W. Floyd y Richard Beigel. The Languaje of Machines. Computer Science Press 1994.
Alfred V. Aho. y Jeffrey D. Ullman. Foundations of Computer Science, C Edition. W.H. Freeman, 1995.
Metodología de enseñanza-aprendizaje:
Revisión de conceptos, análisis y solución de problemas en clase:
Lectura de material fuera de clase:
Ejercicios fuera de clase (tareas):
Investigación documental:
Elaboración de reportes técnicos o proyectos:
Prácticas de laboratorio en una materia asociada:
Visitas a la industria:
(X)
(X)
(X)
( )
( )
( )
( )
Metodología de evaluación:
Asistencia:
Tareas:
Elaboración de reportes técnicos o proyectos:
Exámenes de Academia o Departamentales
(X)
(X)
( )
(X)
A6-2
Nombre de la materia:
Clave:
No. De horas /semana :
Duración semanas:
Total de Horas :
No. De créditos :
Prerrequisitos :
TEORÍA DE LA COMPUTACIÓN
CI7002-T
4
16
64
8
CI7001-T
Objetivo
Este curso introduce al estudiante a la teoría de la computabilidad. Se presentan teorías generales de computabilidad incluyendo las
Máquinas de Turing, funciones recursivas y el cálculo lambda. Se discuten nociones de decidibilidad e indecidibilidad y se relaciona
esto con análisis de complejidad.
Contenido
1.
2.
3.
4.
5.
6.
7.
8.
9.
Conceptos matemáticos preliminares
Máquinas de Turing
La tesis de Church-Turing
Programas y funciones computables. Lenguajes imperativos, funciones recursivas (parciales), Cálculo lambda, Lenguajes
lógicos.
Problemas de decisión, problemas recursivos y recursivamente enumerables
Problemas indecidibles. El problema de la parada. Indecibilidad de la lógica de primer orden.
Computación acotada en el tiempo: P y NP
NP-Completitud
Ejemplos de problemas NP completos. El problema de satisfactibilidad en fórmulas booleanas, problemas de grafos, etc.
Bibliografía básica
James L. Hein. Discrete Structures, Logic, and Computability. Jones and Bartlett Publishers, Inc. 2nd Edition. 2001.
Robert W. Floyd y Richard Beigel. The Languaje of Machines. Computer Science Press 1994.
Ullman, J. D.; Hopkroft, J. E., Introduction to Automata Theory, Languages and Computations. Addison-Wesley Publishing
Company, 1979.
Martin D. Davis, Ron Sigal y Elaine J. Weyuker. Computability, Complexity, and Languajes. Academic Press Inc. 1994.
Bibliografía complementaria
Gough, K. J., Syntax Analysis and Software Tools, Addison-Wesley Publishing Company, 1988
Gries, David; Editor, Programming In The 1990s, An Introduction To The Calculation Of Programs, Springer Verlag, 1990
Dijkstra, E. W., editor., Formal Development Of Programs And Proofs, Addison-Wesley Publishing Company, 1990
Manna, Z.; Waldinger, R., The Logical Bases For Computing Programming, Addison- Wesley Publishing Company, 1993.
Kfoury, A.J.; Moll, R. N.; Arbib, M. A., A Programming Approach to Computability. Springer-Verlag, 1982.
Metodología de enseñanza-aprendizaje:
Revisión de conceptos, análisis y solución de problemas en clase:
Lectura de material fuera de clase:
Ejercicios fuera de clase (tareas):
Investigación documental:
Elaboración de reportes técnicos o proyectos:
Prácticas de laboratorio en una materia asociada:
Visitas a la industria:
Metodología de evaluación:
Asistencia:
Tareas:
Elaboración de reportes técnicos o proyectos:
Exámenes de Academia o Departamentales
(X)
(X)
( )
(X)
A6-3
(X)
(X)
(X)
( )
(X)
( )
( )
Nombre de la materia :
Clave:
No. De horas /semana :
Duración semanas:
Total de Horas :
No. De créditos :
Prerrequisitos :
ESTRUCTURAS DE DATOS
CI7100-T
3
16
48
6
CI0000-T
Objetivo:
Que el alumno conozca los diferentes modelos de datos y herramientas utilizadas en la programación de sistemas.
Contenido:
1. Modelo de datos, iteración y recursión.
2. El modelo de datos de listas
3. El modelo de datos de conjuntos
4. El modelo de datos de árboles
5. Teoría y algoritmos de grafos
Bibliografía básica:
Alfred V. Aho. y Jeffrey D. Ullman. Foundations of Computer Science, C Edition. W.H. Freeman, 1995.
Bibliografía complementaria
Estructuras de datos en C. Tenenbaum. Prentice-Hall Hispanoamericana, 1993.
Estructuras de datos en Java. M.A. Weiss. Addison Wesley 2000.
Metodología de enseñanza-aprendizaje:
Revisión de conceptos, análisis y solución de problemas en clase:
Lectura de material fuera de clase:
Ejercicios fuera de clase (tareas):
Investigación documental:
Elaboración de reportes técnicos o proyectos:
Prácticas de laboratorio en una materia asociada:
Visitas a la industria:
Metodología de evaluación:
Asistencia:
Tareas:
Elaboración de reportes técnicos o proyectos:
Exámenes de Academia o Departamentales
(X)
(X)
(X)
(X)
A6-4
(X)
(X)
(X)
( )
( )
( )
( )
Nombre de la materia:
Clave:
No. De horas /semana :
Duración semanas:
Total de Horas :
No. De créditos :
Prerrequisitos :
INGENIERÍA DE PROGRAMACIÓN
CI7101-T
4
16
64
8
CI0000-T
Objetivo
Este curso presenta un estudio profundo de muchos de los temas de ingeniería de software, incluyendo paradigmas de ingeniería de
software, especificación de requisitos, diseño funcional y orientado a objetos, verificación y mantenimiento de software. Se discuten
ambientes y herramientas de software y se introduce a los estudiantes a su uso. Se consideran también implicaciones sociales tales
como el costo de las fallas y las responsabilidades profesionales. El curso también comprende una introducción a la interacción
computadora-humano y una discusión de algunas interfases de software vistas desde el punto de vista de ingeniería de software. Este
curso requiere de la participación de los estudiantes en proyectos por equipos.
Contenido
1. Introducción
2. La naturaleza y cualidades del software
3. Principios de la Ingeniería de Software
4. Diseño de Software
5. Especificación de requisitos de software
6. Verificación y validación
7. Herramientas y ambientes para la Ingeniería de Software
Bibliografía básica
Ghezzi, C.; Jazayeri, M.; Mandrioli, D., Fundamentals Of Software Engineering, Prentice-Hall Inc. 2nd Edition, 2002.
Bibliografía complementaria
Ledgard, H.; Tauer, J., Professional Software, Software Engineering Concepts, Vol. I, Addison-Wesley Publishing Company, 1987
Gilb, T., Principles Of Software Engineering Management, Addison-Wesley Publishing Company, 1988
Glass, R. L., Software Conflict, Essays on the Art and Science of Software Engineering, Yourdon Press Computing Series, 1991
Hrietza, J.; Jackson, K., Computer Security Solutions, Blackwell Scientific Publications, 1990
Naur, P., Computing: A Human Activity, ACM Press, Addison-Wesley Publishing Company, 1992
Schulmeyer, G. G., Zero Defect Software, McGraw-Hill, Inc., Software Engineering Series, 1990
Thimbleby, H., User Interface Design, ACM Press, Addison-Wesley Publishing Company, 1990
Nutt, G. J., Centralized and Distributed Operating Systems, Prentice-Hall, 1991
Klerer, M., Design Of Very High-level Computer Languages, A User-Oriented Approach, 2nd. Edition, McGraw-Hill, Inc., 1991
Tracz, W.; Editor, Software Reuse-Emerging Technology, IEEE Computer Society Press, 1988
Metodología de enseñanza-aprendizaje:
Revisión de conceptos, análisis y solución de problemas en clase:
Lectura de material fuera de clase:
Ejercicios fuera de clase (tareas):
Investigación documental:
Elaboración de reportes técnicos o proyectos:
Prácticas de laboratorio en una materia asociada:
Visitas a la industria:
(X)
(X)
(X)
(X)
(X)
( )
( )
Metodología de evaluación:
Asistencia:
Tareas:
Elaboración de reportes técnicos o proyectos:
Exámenes de Academia o Departamentales
(X)
(X)
(X)
(X)
A6-5
Nombre de la materia : .
Clave:
No. De horas /semana :
Duración semanas:
Total de Horas :
No. De créditos :
Prerrequisitos :
ANÁLISIS DE ALGORITMOS
CI7102-T
4
16
64
8
CI7100-T
Objetivo
Este curso da un tratamiento profundo de análisis de complejidad. Ayudan a motivar y desarrollar el tema varios algoritmos de
búsqueda y ordenamientos, así como métodos de espacios de búsqueda del área de Inteligencia Artificial y estructuras de archivos
utilizados en sistemas de bases de datos. Se discuten clases de complejidad, así como la naturaleza de la NP-completez e
intratabilidad. Esto lleva a una discusión de computabilidad y de la máquina universal de Turing. Se discuten algunos problemas
asociados con algoritmos paralelos.
Contenido
1.
2.
3.
4.
5.
6.
7.
Introducción y conceptos básicos.
Solución de ecuaciones de recurrencia.
Complejidad en ordenamientos.
Problemas que involucran sistemas complejos.
Problemas que involucran números.
Algoritmos Paralelos.
La clase NP y su relación con la clase P.
Bibliografía básica
•
•
Cormen, T. H.; Leierson, C. E.; Rivest, R. L., Introduction To Algorithms, MIT Press. Second Edition, 2001.
Rawlins, G. J.E., compared to what?, an introduction to the analysis of algorithms, Computer Science Press, 1992
Bibliografía complementaria
•
•
•
•
•
•
•
Aho, A. V.; Hopkroft, J. E.; Ullman, J. D., Estructuras De Datos Y Algoritmos, Addison-Wesley Publishing Company, 1988
Garey, J., Computers And Intractability: A Guide To The Theory Of NP-Completeness, Freeman, New York, 1979
Aoe, J.I.; edited by , Computer Algorithms: Key Search Strategies, IEEE Computer Society Press, 1991
Cragon, H. G., Branch Strategy Taxonomy and Performance Models, IEEE Computer Society Press, 1992
Kuck, D. J., The Structure Of Computers And Computations, Volume One, John Wiley & Sons, 1978
McNaughton, R., Elementary Computability, Formal Languages, and Automata, Prentice-Hall Inc., 1982
Kfoury, A.J.; Moll, R. N.; Arbib, M. A., A Programming Approach to Computability, Springer-Verlag, 1982
Metodología de enseñanza-aprendizaje:
Revisión de conceptos, análisis y solución de problemas en clase:
(X)
Lectura de material fuera de clase:
Ejercicios fuera de clase (tareas):
Investigación documental:
Elaboración de reportes técnicos o proyectos:
Prácticas de laboratorio en una materia asociada:
Visitas a la industria:
(X)
(X)
( )
( )
( )
( )
Metodología de evaluación:
Asistencia:
Tareas:
Elaboración de reportes técnicos o proyectos:
Exámenes de Academia o Departamentales
(X)
(X)
( )
( )
A6-6
Nombre de la materia:
Clave:
No. De horas /semana :
Duración semanas:
Total de Horas :
No. De créditos :
Prerrequisitos :
LABORATORIO DE SISTEMAS OPERATIVOS
CI7200-L
5
16
80
10
Ninguno
Objetivo
Al finalizar el curso, el alumno adquirirá la habilidad para instalar, configurar y administrar el sistema operativo Linux.
Contenido
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Instalación
Arranque y parada del sistema
Tipos de usuarios
Control de procesos
Sistema de archivos
Administración de cuentas de usuario
Dispositivos seriales
Agregando discos
Procesos periódicos
Respaldos
Archivos de bitácora
Drivers y el kernel
Redes TCP/IP
Ruteo
Hardware de red
El sistema de nombres de dominio
El sistema de archivos de red
Correo electrónico
Administración de la red y depuración
Seguridad
Instalación de software y localización
Bibliografía básica
E. Nemeth, G. Snyder, T. Hein and T. R. Hein. Linux Administration Handbook. Prentice Hall, 2002.
Bibliografía complementaria
Abundante bibliografía en Internet
Metodología de enseñanza-aprendizaje:
Revisión de conceptos, análisis y solución de problemas en clase:
Lectura de material fuera de clase:
Ejercicios fuera de clase (tareas):
Investigación documental:
Elaboración de reportes técnicos o proyectos:
Prácticas de laboratorio en una materia asociada:
Visitas a la industria:
Metodología de evaluación:
Asistencia:
Tareas:
Elaboración de reportes técnicos o
proyectos:
Exámenes de Academia o
Departamentales
(X)
(X)
(X)
(X)
A6-7
(X)
(X)
(X)
(X)
(X)
(X)
( )
Nombre de la materia:
Clave:
No. De horas /semana :
Duración semanas:
Total de Horas :
No. De créditos :
Prerrequisitos :
SISTEMAS OPERATIVOS
CI7200-T
4
16
64
8
IA7400-T, CI0000-T
Objetivo
Al finalizar el curso, el alumno dominara los conceptos básicos de sistemas operativos que incluyen tareas, procesos, sincronización
de procesos, organización de memoria física y virtual, sistemas operativos distribuidos, seguridad y privacidad
Contenido
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Introducción
Programación de tareas y procesos
Coordinación y sincronización de procesos
Coordinación y despacho
Organización de memoria física y virtual
Manejo de dispositivos
Sistemas de archivos y los nombres
Seguridad y protección
Comunicaciones y redes
Sistemas distribuidos y de tiempo real
Bibliografía básica
Tanenbaum, A. S., Modern Operating Systems, Pearson Education, 2 edition., 2001
Shaw, A. C.; Bic, L., The Logical Design Of Operating Systems, Second Edition, Prentice Hall, Inc., 1988
Bibliografía Complementaria:
Bach, M. J., The Design Of The Unix Operating System, Prentice Hall, Inc., 1986
Comer, D.; Fossum, T., Operating System Design, The Xinu Approach, Volumen I, Prentice Hall, Inc., 1988
Nutt, G. J., Centralized and Distributed Operating Systems, 1991
Pinkert, J. R.; Wear, L. L., Operating Systems: Concepts, Policies And Mechanisms, Prentice Hall, Inc., 1989
Silberschatz, A.; Peterson, J.; Galvin, P., Operating Systems Concepts, Third Edition, Addison-Wesley Publishing Company, 1991
Tanenbaum, A. S., Sistemas Operativos, Diseño E Implementación, Prentice Hall Software Series, 1988
Fortier, P. J.; Desrochers, G. R., Modeling and Analysis of Local Area Networks, IEEE Computer Society Press, 1990
Stallings, W., Operating Systems, MacMillan Publishing Company, 1992
Metodología de enseñanza-aprendizaje:
Revisión de conceptos, análisis y solución de problemas en clase:
Lectura de material fuera de clase:
Ejercicios fuera de clase (tareas):
Investigación documental:
Elaboración de reportes técnicos o proyectos:
Prácticas de laboratorio en una materia asociada:
Visitas a la industria:
Metodología de evaluación:
Asistencia:
Tareas:
Elaboración de reportes técnicos o
proyectos:
Exámenes de Academia o
Departamentales
(X)
(X)
(X)
(X)
A6-8
(X)
(X)
(X)
(X)
( )
( )
( )
Nombre de la materia:
Clave:
No. De horas /semana :
Duración semanas:
Total de Horas :
No. De créditos :
Prerrequisitos :
MODELOS PROBABILISTAS
CI7300-T
3
16
48
6
CB0600-T
Objetivo
Introducir al estudiante al razonamiento probabilístico como una extensión del razonamiento lógico que incluye incertidumbre.
Contenido
1.
2.
3.
4.
5.
6.
7.
8.
9.
Repaso de teoría de probabilidad. Variables aleatorias. Probabilidad condicional y esperanza condicional
Clasificador Bayesiano simple
Cadenas de Markov
Modelos ocultos de Markov
Campos aleatorios de Markov
Procesos de decisión de Markov
Procesos de decisión de Markov parcialmente observables
Redes de Markov
Redes Bayesianas
Bibliografía básica
Sheldoon M. Ross. Introduction to Probability Models. Academic Press 1980.
Judea Perl. Probabilistic Reasoning in Intelligent Systems. Morgan Kaufmann Publishers, Inc. 1988.
Bibliografía complementaria
Wei-Min Shen. Autonomous Learning from the environment. W. H. Freeman and Company. 1994.
Metodología de enseñanza-aprendizaje:
Revisión de conceptos, análisis y solución de problemas en clase:
Lectura de material fuera de clase:
Ejercicios fuera de clase (tareas):
Investigación documental:
Elaboración de reportes técnicos o proyectos:
Prácticas de laboratorio en una materia asociada:
Visitas a la industria:
Metodología de evaluación:
Asistencia:
Tareas:
Elaboración de reportes técnicos o proyectos:
Exámenes de Academia o Departamentales
(X)
(X)
(X)
(X)
A6-9
(X)
(X)
(X)
(X)
(X)
( )
( )
Nombre de la materia:
Clave:
No. De horas /semana :
Duración semanas:
Total de Horas :
No. De créditos :
Prerrequisitos :
Conocimientos previos recomendados:
LÓGICA
IA7000-T
3
16
48
6
NINGUNO
Objetivo
Introducir al estudiante en el análisis del lenguaje matemático a través de los lenguajes proposicionales y de primer orden. De éstos,
se enfatizan por igual tres aspectos: su estructura formal, su semántica (a través de las estructuras matemáticas) y la teoría de la
inferencia lógica.
Contenido
1. El proceso de razonamiento
2. Calculo proposicional
3. Sistemas de razonamiento formal
4. Lógica de predicados
5. Indecibilidad
6. Lógica aplicada
7. Lógica computacional
Bibliografía básica
James L. Hein. Discrete Structures, Logic, and Computability. Jones and Bartlett Publishers, Inc. 2nd Edition. 2001.
Delong, H., A Profile Of Mathematical Logic, Dover Publications, 2004.
Herbert B. Enderton. A Mathematical Introduction to Logic. Academic Press. 2nd Edition. 2000.
Bibliografía complementaria
Alfred V. Aho y Jeffrey D. Ullman. Foundations of Computer Science C Edition. W. H. Freeman Company. 1994.
Juan Frausto Solís y Gilberto Sánchez Ante. Fundamentos de Lógica Computacional. Ed. Trillas, 2000.
Polya, G., How To Solve It, Princeton Univ. Press, 1945
Boolos, J., Computability and Logic, Cambridge, U.P., 1974
Metodología de enseñanza-aprendizaje:
Revisión de conceptos, análisis y solución de problemas en clase:
Lectura de material fuera de clase:
Ejercicios fuera de clase (tareas):
Investigación documental:
Elaboración de reportes técnicos o proyectos:
Prácticas de laboratorio en una materia asociada:
Visitas a la industria:
Metodología de evaluación:
Asistencia:
Tareas
Elaboración de reportes técnicos o proyectos:
Exámenes de Academia o Departamentales
(X )
(X )
( )
(X )
A6-10
(X )
(X )
(X )
( )
( )
( )
( )
Nombre de la materia:
Clave:
No. De horas /semana :
Duración semanas:
Total de Horas :
No. De créditos :
Prerrequisitos :
COMPILADORES
IA7100-T
3
16
48
6
CI7001-T
Objetivo
Proveer al alumno con principios y técnicas útiles para la construcción de Compiladores. El alumno deberá ser capaz de implementar
la traducción (o "compilación") de un lenguaje de programación de alto nivel al lenguaje de máquina de un computador, para lo cual
deberá asociar los conceptos abstractos de programación estudiados en cursos previos con su implementación concreta en el ámbito
de la tecnología actual.
Contenido
1.
2.
3.
4.
5.
6.
7.
Introducción
Análisis léxico
Análisis sintáctico
Tabla de símbolos
Generación de código intermedio
Optimización de código
Generación de código
Bibliografía básica
Alfred Aho, Ravi Sethi y Jeffrey Ullman: "Compiladores. Principios, Técnicas y Herramientas", Addison-Wesley Iberoamericana,
1990.
Bibliografía complementaria
Aho, R. Sethi y J. Ullman: "Compilers. Principles, Techniques and Tools", Addison-Wesley Reading, Mass., 1986.
Niklaus Wirth: "Compiler construction", Addison-Wesley, Harlow, England, 1996.
Thomas Pittman y James Peters: "The Art of Compiler Design in C", Prentice Hall, Englewood Cliffs, NJ, 1990.
Metodología de enseñanza-aprendizaje:
Revisión de conceptos, análisis y solución de problemas en clase:
Lectura de material fuera de clase:
Ejercicios fuera de clase (tareas):
Investigación documental:
Elaboración de reportes técnicos o proyectos:
Prácticas de laboratorio en una materia asociada:
Visitas a la industria:
Metodología de evaluación:
Asistencia:
Tareas:
Elaboración de reportes técnicos o proyectos:
Exámenes de Academia o Departamentales
(X)
(X)
(X)
(X)
A6-11
(X)
(X)
(X)
(X)
(X)
( )
( )
Nombre de la materia:
Clave:
No. De horas /semana :
Duración semanas:
Total de Horas :
No. De créditos :
Prerrequisitos :
LABORATORIO DE GRAFICACIÓN
IA7200-T
3
16
48
6
Ninguno
Objetivo
Adquirir la habilidad para desarrollar aplicaciones gráficas basadas en Open GL.
Contenido
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Obteniendo Open GL.
Dibujando figuras
Más herramientas de dibujado
Herramientas vectoriales para gráficas
Transformaciones de objetos
Modelado de superficies con mallas poligonales
Vistas tridimensionales
Realismo visual
Herramientas para despliegues raster
Manejo del color
Remoción de superficies ocultas
Bibliografía básica
F. S. Hill. Computer Graphics Using Open Gl. Prentice-Hall. 2nd Edition.
Bibliografía complementaria
Earnshaw, R.A., Fundamental Algorithms for Computer Graphics, Springer-Verlag, 1991.
Foley, J. D. , Computer Graphics: Principles And Practice, The Systems Programming Series Reading, Addison-Wesley, 1990
Metodología de enseñanza-aprendizaje:
Revisión de conceptos, análisis y solución de problemas en clase:
(X)
Lectura de material fuera de clase:
Ejercicios fuera de clase (tareas):
Investigación documental:
Elaboración de reportes técnicos o proyectos:
Prácticas de laboratorio en una materia asociada:
Visitas a la industria:
(X)
(X)
(X)
(X)
(X)
( )
Metodología de evaluación:
Asistencia:
Tareas:
Elaboración de reportes técnicos o proyectos:
Exámenes de Academia o Departamentales
(X)
(X)
(X)
(X)
A6-12
Nombre de la materia:
Clave:
No. De horas /semana :
Duración semanas:
Total de Horas :
No. De créditos :
Prerrequisitos :
GRAFICACIÓN
IA7200-T
3
16
48
6
CB7000-T, CI0000-T
Objetivo
Conocer los algoritmos de graficación en dos y tres dimensiones.
Contenido
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Introducción.
Algoritmos Básicos de Gráficas para Dibujo de Primitivas en 2 Dimensiones.
Hardware de Gráficas.
Transformaciones Geométricas.
Vistas en 3 Dimensiones.
Jerarquía de Objetos y PHIGS Simples.
Dispositivos de Entrada, Técnicas de Interacción y Tareas de Interacción.
Software de Interfase de Usuarios.
Representando Curvas y Superficies.
Modelado de Sólidos.
Manipulación de Imágenes y Formatos de Almacenamiento.
Bibliografía básica
Foley, J.D. et al. Introduction to Computer Graphics. Addison-Wesley. 1993.
Earnshaw, R.A., Fundamental Algorithms for Computer Graphics, Springer-Verlag, 1991.
Foley, J. D. , Computer Graphics: Principles And Practice, The Systems Programming Series Reading, Addison-Wesley, 1990
Bibliografía complementaria
Angel, E., Computer Graphics, Addison-Wesley, 1990
Farins, G., Curve And Surfaces For Computer Aided Geometric Design: A Practical guide, Computer and Scientific Computing
Publishers, 1990
Hearn, D.; Baker, M.P., Computer Graphics, Second Edition, Prentice Hall Computer Science, 1994.
Onodera, T.; Kawai, S., A Formal Model Of Visualization In Computer Graphics Systems, Lecture Notes in Computer Science,
Springer Verlag, 1990
Rost, R. J. , Color Theory And Models For Computer Graphics Visualization, Course Notes; E.U.A. ACM, 1992
Salmon, R.; Slater, M., Computer Graphics: Systems and Concepts, Addison-Wesley Publishing Company, 1989.
Metodología de enseñanza-aprendizaje:
Revisión de conceptos, análisis y solución de problemas en clase:
(X)
Lectura de material fuera de clase:
Ejercicios fuera de clase (tareas):
Investigación documental:
Elaboración de reportes técnicos o proyectos:
Prácticas de laboratorio en una materia asociada:
Visitas a la industria:
(X)
(X)
(X)
(X)
( )
( )
Metodología de evaluación:
Asistencia:
Tareas:
Elaboración de reportes técnicos o proyectos:
Exámenes de Academia o Departamentales
(X)
(X)
(X)
(X)
A6-13
Nombre de la materia :
Clave:
No. De horas /semana :
Duración semanas:
Total de Horas :
No. De créditos :
Prerrequisitos :
LABORATORIO DE PARADIGMAS DE PROGRAMACIÓN
IA7300-L
3
16
48
6
Ninguno
Objetivo
Este curso introduce al estudiante a algunos de los lenguajes de programación contemporáneos, empezando por el lenguaje
ensamblador, lenguajes imperativos (C y del Shell), un lenguaje orientado a objetos (Java) y finalizando con un lenguaje funcional
(Scheme).
Contenido
1.
2.
3.
4.
5.
6.
El lenguaje de programación del Shell
Ambiente de desarrollo del lenguaje C. Opciones del compilador, bibliotecas, depuradores
El lenguaje ensamblador
Llamado de código en ensamblador desde un programa en C
El lenguaje Java y la programación orientada a objetos
El lenguaje Scheme y la programación funcional
Bibliografía básica
R. Stones. Beginning Linux Programming. Wrox; 2nd Edition, 2000.
B. Neveln. Linux Assembly Languaje Programming. Prentice Hall 2000.
H.M. Deitel et al. Java How to Program. 5th Edition. Prentice-Hall 2002.
R. K. Dybvig, J-P Hebert. The Scheme Programming Language. MIT Press. 2003.
H. Abelson, G.J. Sussman and J. Sussman. Structure and Interpretation of Computer Programs. MIT Press. 1996.
Bibliografía complementaria
Sethi, R., Programming Languages, Concepts and Constructs, Addison-Wesley Publishing Company, 1989
Metodología de enseñanza-aprendizaje:
Revisión de conceptos, análisis y solución de problemas en clase:
Lectura de material fuera de clase:
Ejercicios fuera de clase (tareas):
Investigación documental:
Elaboración de reportes técnicos o proyectos:
Prácticas de laboratorio en una materia asociada:
Visitas a la industria:
Metodología de evaluación:
Asistencia:
Tareas:
Elaboración de reportes técnicos o proyectos:
Exámenes de Academia o Departamentales
(X)
(X)
(X)
(X)
A6-14
(X)
(X)
(X)
(X)
(X)
(X)
( )
Nombre de la materia :
Clave:
No. De horas /semana :
Duración semanas:
Total de Horas :
No. De créditos :
Prerrequisitos :
PARADIGMAS DE PROGRAMACIÓN
IA7300-T
3
16
48
6
CI7101-T
Objetivo
Este curso introduce al estudiante a la naturaleza de los lenguajes de programación contemporáneos, empezando por una revisión
profunda de lenguaje ensamblador y finalizando con un tratamiento profundo de un lenguaje verdadero orientado a objetos (tal como
Smalltalk o Eiffel). Durante el desarrollo del curso se discute la evolución de lenguajes imperativos (FORTRAN, Algol, PL/I,
Pascal) y lenguajes funcionales (Lisp, Scheme, ML). Adicionalmente se introducen conceptos fundamentales de diseño e
implementación de los lenguajes de alto nivel, incluyendo los conceptos de ligado, chequeo de tipos y administración de memoria
durante ejecución.
Contenido
1.
2.
3.
4.
5.
6.
7.
8.
Historia y evolución de los lenguajes de programación
Organización de la computadora a nivel ensamblador
Máquinas virtuales
Control de secuencia
Control de los datos
Manejo del espacio de almacenamiento durante ejecución
Paradigmas de programación (Lenguajes Imperativos, lógicos, funcionales, orientados a Objetos.)
Diseño de Lenguajes.
Bibliografía básica
Friedman, D. P.; Wand, M.; Heynes, C. T., Essentials Of Programming Languages, The MIT Press, 1992
Sethi, R., Programming Languages, Concepts and Constructs, Addison-Wesley Publishing Company, 1989
Bibliografía complementaria
Scragg, G. W., Computer Organization, A Top-Down Approach, McGraw-Hill Publishing Company, Inc., 1992
Budd, T., An Introduction To Object-Oriented Programming, Addison-Wesley Publishing Company, 1991
Field, A. J.; Harrison, P. G., Functional Programming, Addison-Wesley Publishing Company, 1989
Friedman, L. W., Comparative Programming Languages, Generalizing The Programming Function, Prentice Hall, Inc., 1991
Kogge, P. M., The Architecture of Symbolic Computers, McGraw-Hill Incorporated, 1991
Tucker, A. B., Jr., Lenguajes De Programación, Segunda Edición, McGraw-Hill,, España, 1987.
Metodología de enseñanza-aprendizaje:
Revisión de conceptos, análisis y solución de problemas en clase:
Lectura de material fuera de clase:
Ejercicios fuera de clase (tareas):
Investigación documental:
Elaboración de reportes técnicos o proyectos:
Prácticas de laboratorio en una materia asociada:
Visitas a la industria:
Metodología de evaluación:
Asistencia:
Tareas:
Elaboración de reportes técnicos o proyectos:
Exámenes de Academia o Departamentales
(X)
(X)
(X)
(X)
A6-15
(X)
(X)
(X)
(X)
(X)
( )
( )
Nombre de la materia :
Clave:
No. De horas /semana :
Duración semanas:
Total de Horas :
No. De créditos :
Prerrequisitos :
ORGANIZACIÓN DE COMPUTADORAS
IA7400-T
3
16
48
6
CI0300-T
Objetivo :
Este curso trata alternativas de diseño en la organización de computadoras. Revisa y cubre la organización de la máquina a nivel de
lenguaje ensamblador, la organización del subsistema de memoria, conceptos de interfase y aspectos que surgen al manejar las
comunicaciones con el procesador.
Contenido
1.
2.
3.
4.
5.
6.
7.
8.
Introducción
Procesadores, memoria y Entrada salida
El nivel de la lógica digital
Nivel de la microprogramación
El nivel de máquina convencional
El nivel de la máquina del sistema operativo
El nivel del lenguaje ensamblador
Arquitecturas avanzadas de computadoras
Bibliografía básica
Hamacher, C.; Vranesic, Z.; Zaky, S., Computer Organization, 5th Edition, McGraw-Hill, 2001.
Tanenbaum, A. S., Structured Computer Organization, 4th Edition, Prentice-Hall International, 1998.
Bibliografía complementaria
Bartee, T. C., Computer Architecture and Logic Design, McGraw-Hill, 1991.
Hwang, K.; Briggs, F. A., Arquitectura De Computadoras Y Procesamiento Paralelo, McGraw-Hill, 1988.
Leng, P.; Charlton, C., Principles of Computer Organization, McGraw-Hill, 1990.
Mano, M. M., Computer System Architecture, 3rd. Edition, Prentice-Hall, Inc., 1992
Metodología de enseñanza-aprendizaje:
Revisión de conceptos, análisis y solución de problemas en clase:
Lectura de material fuera de clase:
Ejercicios fuera de clase (tareas):
Investigación documental:
Elaboración de reportes técnicos o proyectos:
Prácticas de laboratorio en una materia asociada:
Visitas a la industria:
Metodología de evaluación:
Asistencia:
Tareas:
Elaboración de reportes técnicos o proyectos:
Exámenes de Academia o Departamentales
(X)
(X)
(X)
(X)
A6-16
(X)
(X)
(X)
(X)
(X)
( )
( )
Nombre de la materia :
Clave:
No. De horas /semana :
Duración semanas:
Total de Horas :
No. De créditos :
Prerrequisitos :
LABORATORIO DE BASES DE DATOS
IA7500-L
2
16
32
4
Ninguno
Objetivo
Adquirir la habilidad para utilizar manejadores de bases de datos desde un lenguaje anfitrión.
Contenido
1. Manejadores de bases de datos
2. El manejador MySQL
3. El manejador mSQL
4. El manejador PostgreSQL
5. Acceso a manejadores desde un lenguaje anfitrion (C, Java)
Bibliografía básica
D. Egan, P. Zikopoulos, Ch. Rogers. BDA’s Guide to Databases Under Linux. Syngress Publishing. 2000.
N. Matthew. Professional Linux Programming. Peer Information Inc. 2000.
Revisión de conceptos, análisis y solución de problemas en clase:
Lectura de material fuera de clase:
Ejercicios fuera de clase (tareas):
Investigación documental:
Elaboración de reportes técnicos o proyectos:
Prácticas de laboratorio en una materia asociada:
Visitas a la industria:
Metodología de evaluación:
Asistencia:
Tareas:
Elaboración de reportes técnicos o proyectos:
Exámenes de Academia o Departamentales
(X)
(X)
(X)
(X)
A6-17
(X)
(X)
(X)
(X)
(X)
(X)
( )
Nombre de la materia :
Clave:
No. De horas /semana :
Duración semanas:
Total de Horas :
No. De créditos :
Prerrequisitos :
BASES DE DATOS
IA7500-T
4
16
64
8
CI7101-T, IA7000-T
Objetivo
Este curso cubre lo referente a sistemas de bases de datos, cuyos temas incluyen modelos de datos (Entidad-Relación, relacional y
orientado a objetos); lenguajes de consulta (álgebra relacional, cálculo relacional); el diccionario de datos; implementación del
núcleo de un sistema de bases de datos relacional y ejemplos concretos de lenguajes y sistemas de bases de datos comerciales. Otros
temas que también se cubren son: Optimización de las consultas; teoría de las formas normales y el diseño de la base de datos;
proceso de transacciones, control y recuperación de errores; seguridad e integridad; sistemas distribuidos de bases de datos;
interfaces con los usuarios y lenguajes de consulta gráficos; estudio de la organización física de las bases de datos; tecnologías
modernas (hipertexto y sistemas basados en el conocimiento).
Contenido
1. Panorama general.
2. Modelos de datos.
3. La Lógica como un modelo de datos
4. Lenguajes de consulta relacionales
5. Organización física de los datos
6. Teoría de diseño para bases de datos relacionales
7. Lenguajes para bases de datos orientadas a objetos
8. Protección de la base de datos frente a usos indebidos
Bibliografía básica
Date, C. J., An Introduction to Database Systems. 8th Edition, Pearson Education. 2003.
Ullman, J. D., Principles Of Database And Knowledge-base Systems, Vol. I, Computer Science Press, 1988
Bibliografía complementaria
Alagic, Object-Oriented Database Programming, Springer-Verlag, 1988
Filman, R. E.; Friedman, D.P., Coordinated Computing: Tools and Techniques for Distributed Software, McGraw-Hill, Computer
Science, 1984.
Kershenbaum, A., Telecommunications Network Design Algorithms, McGraw-Hill, Computer Science, 1993.
Korth, H.; Silbersschatz, A., Database Systems Concepts, Second Edition, McGraw-Hill, Computer Science, 1991.
Pascal, F., Understanding Relational Databases, with Examples in SQL, Wiley, 1993.
Robertazzi, T.G., Computer Networks and Systems, Queuing Theory and Performance Evaluation, McGraw-Hill, Computer Science,
1990.
Wiederhold, G., File Organization for Database Design, McGraw-Hill, Computer Science, 1987.
Revisión de conceptos, análisis y solución de problemas en clase:
Lectura de material fuera de clase:
Ejercicios fuera de clase (tareas):
Investigación documental:
Elaboración de reportes técnicos o proyectos:
Prácticas de laboratorio en una materia asociada:
Visitas a la industria:
Metodología de evaluación:
Asistencia:
Tareas:
Elaboración de reportes técnicos o proyectos:
Exámenes de Academia o Departamentales
(X)
(X)
(X)
(X)
A6-18
(X)
(X)
(X)
(X)
(X)
( )
( )
Nombre de la materia:
Clave:
No. De horas /semana :
Duración semanas:
Total de Horas :
No. De créditos :
Prerrequisitos :
LABORATORIO DE REDES DE COMPUTADORAS
IA7600-L
2
16
32
4
NINGUNO
Objetivo
Proporcionar al estudiante la habilidad para implementar y probar esquemas de comunicación entre computadoras que participan en
una red.
Contenido
1.
2.
3.
4.
5.
6.
7.
Medios de comunicación
Hardware de las computadoras para comunicación
Comunicación serial
Comunicación ethernet
El protocolo TCP/IP
Sockets y datagramas de TCP/IP
Programas de la capa de aplicación (email)
Bibliografía básica
W. Richard Stevens. UNIX Network Programming: Networking APIs: Sockets and XTI, Vol. 1. Prentice Hall. 1997.
Warren W. Gay. Linux socket Programming: By Example. Que. 2000.
Bibliografía complementaria
Tanenbaum, A. S., Computer Networks, Second Edition., Prentice-Hall, 1988.
Metodología de enseñanza-aprendizaje:
Revisión de conceptos, análisis y solución de problemas en clase:
Lectura de material fuera de clase:
Ejercicios fuera de clase (tareas):
Investigación documental:
Elaboración de reportes técnicos o proyectos:
Prácticas de laboratorio en una materia asociada:
Visitas a la industria:
Metodología de evaluación:
Asistencia:
Tareas:
Elaboración de reportes técnicos o proyectos:
Exámenes de Academia o Departamentales
(X)
(X)
(X)
(X)
A6-19
(X)
(X)
(X)
(X)
(X)
(X)
( )
Nombre de la materia:
Clave:
No. De horas /semana :
Duración semanas:
Total de Horas :
No. De créditos :
Prerrequisitos :
REDES DE COMPUTADORAS
IA7600-T
4
16
64
8
CI0000-T, IA3100-T.
Objetivo
Este curso le da al estudiante fundamentos para el estudio de redes de computadoras. Se cubren los métodos y prácticas que se
utilizan en redes de computadoras para permitir la comunicación.
Contenido
1.
2.
3.
4.
5.
6.
7.
8.
Introducción
La capa física.
La subcapa de acceso al medio.
La capa de enlace de datos.
La capa de red.
La capa de transporte.
La capa de sesión
La capa de aplicación
Bibliografía básica
Tanenbaum, A. S., Computer Networks, Second Edition., Prentice-Hall, 1988.
Bibliografía complementaria
Fortier, P. J.; Desrochers, G. R., Modeling and Analysis of Local Area Networks, IEEE Computer Society Press, 1990
Raynal, M.; Helary, J., Sinchronization And Control Of Distributed Systems And Programs, John Wiley & Sons, Inc., 1990
Schwaderer, W. D., C Programmer's Guide to NetBIOS, Howard W. Sams & Company, 1988
Stallings, W., Editor., Computer Communications: Architectures, Protocols, and Standards, 3rd Edition, IEEE Computer Society
Press, 1992
Gupta, R.; Horowitz, E., Editores, Object-oriented Databases With Applications To CASE, Networks And VLSI CAD, Prentice Hall,
Inc., 1991
Metodología de enseñanza-aprendizaje:
Revisión de conceptos, análisis y solución de problemas en clase:
Lectura de material fuera de clase:
Ejercicios fuera de clase (tareas):
Investigación documental:
Elaboración de reportes técnicos o proyectos:
Prácticas de laboratorio en una materia asociada:
Visitas a la industria:
Metodología de evaluación:
Asistencia:
Tareas:
Elaboración de reportes técnicos o proyectos:
Exámenes de Academia o Departamentales
(X)
(X)
(X)
(X)
A6-20
(X)
(X)
(X)
(X)
(X)
(X)
( )
Nombre de la materia :
Clave:
No. De horas /semana :
Duración semanas:
Total de Horas :
No. De créditos :
Prerrequisitos :
LABORATORIO DE INTELIGENCIA ARTIFICIAL
IA7700-L
3
16
48
6
Ninguno
Objetivo
Desarrollar en el estudiante la habilidad de programar en Lisp y Prolog, dos lenguajes comúnmente utilizados para construir sistemas
de IA.
Contenido
1.
2.
3.
4.
5.
6.
Introducción a Lisp
Panorama de Lisp
Aplicaciones de Lisp en Inteligencia Artificial
Introducción a Prolog
Panorama de Prolog
Aplicaciones de Prolog
Bibliografía básica
P. Norvig. Paradigms of Artificial Intelligence Programming Case Studies in Common Lisp. Morgan Kaufmann Pub. 1991.
I. Bratko. Prolog Programming for Artificial Intelligence. Pearson Education. 3rd Edition. 2000.
Bibliografía complementaria
Stuart Russell y Peter Norvig. Artificial Intelligence A Modern Approach. Prentice Hall. 2nd Edition. 2002.
Metodología de enseñanza-aprendizaje:
Revisión de conceptos, análisis y solución de problemas en clase:
Lectura de material fuera de clase:
Ejercicios fuera de clase (tareas):
Investigación documental:
Elaboración de reportes técnicos o proyectos:
Prácticas de laboratorio en una materia asociada:
Visitas a la industria:
Metodología de evaluación:
Asistencia:
Tareas:
Elaboración de reportes técnicos o proyectos:
Exámenes de Academia o Departamentales
(X)
(X)
(X)
(X)
A6-21
(X)
(X)
(X)
(X)
(X)
(X)
( )
Nombre de la materia :
Clave:
No. De horas /semana :
Duración semanas:
Total de Horas :
No. De créditos :
Prerrequisitos :
INTELIGENCIA ARTIFICIAL
IA7700-T
3
16
48
6
CI7000-T , IA7300-T
Objetivo
Presenta al estudiante un panorama selectivo de conceptos clave y aplicaciones de la inteligencia artificial (IA), junto con los
lenguajes comúnmente utilizados para construir sistemas de IA (Lisp, Prolog).
Contenido
7.
8.
9.
10.
11.
12.
13.
Introducción
Agentes inteligentes
Técnicas de búsqueda
Agentes que razonan de manera lógica
Planificación
Aprendizaje
Comunicación, percepción y actuación
Bibliografía básica
Stuart Russell y Peter Norvig. Artificial Intelligence A Modern Approach. Prentice Hall. 2nd Edition. 2002.
Bibliografía complementaria
Ginsberg, M., Essentials of Artificial Intelligence, Morgan Kaufmann Publishers Inc.1993.
Rich, E.; Knight, K., Artificial Intelligence, Second Edition, McGraw Hill Book Company, 1991.
Bielawsky, L.; Lewand, R., Intelligent Systems Design; Integrating Expert Systems, Hypermedia, and Database Technologies, John
Wiley & Sons, Inc., 1991.
Sangal, R., Programming Paradigms in Lisp, McGraw-Hill, 1991.
Bowen, K., ProLog and Expert Systems Programming, McGraw-Hill, 1991.
Chang, S.-K., Editor, Visual Languages And Visual Programming, Plenum Press, 1990.
Garcia, O. N.; Chien, Y.-T., Editores, Knowledge-Based Systems, Fundamentals and Tools, IEEE Computer Society Press, 1991
Iyengar, S.; Elfes, A.; Editores, Autonomous Mobile Robots: Perception, Mapping, and Navigation, Volumes 1 and 2. IEEE
Computer Society Press, 1991.
Jackson, P., Introduction To Expert Systems, Second Edition, Addison-Wesley Publishing Company, 1990.
Schalkoff, R., Artificial Intelligence, McGraw-Hill, 1990.
Metodología de enseñanza-aprendizaje:
Revisión de conceptos, análisis y solución de problemas en clase:
Lectura de material fuera de clase:
Ejercicios fuera de clase (tareas):
Investigación documental:
Elaboración de reportes técnicos o proyectos:
Prácticas de laboratorio en una materia asociada:
Visitas a la industria:
Metodología de evaluación:
Asistencia:
Tareas:
Elaboración de reportes técnicos o proyectos:
Exámenes de Academia o Departamentales
(X)
(X)
(X)
(X)
A6-22
(X)
(X)
(X)
(X)
(X)
( )
( )
Nombre de la materia:
Clave:
No. De horas /semana :
Duración semanas:
Total de Horas :
No. De créditos :
Prerrequisitos :
INVESTIGACIÓN DE OPERACIONES
IA7800-T
3
16
48
6
CB0001-T, CB7000-T
Objetivo
En este curso se proporcionarán los conocimientos que permitan al alumno conocer los orígenes de la Investigación de Operaciones,
comprender su metodología, algunas de sus aplicaciones más comunes. El alumno podrá formular modelos matemáticos simples y
conocerá y aplicará los algoritmos adecuados
Contenido
1. Antecedentes .
2. Programación Lineal.
3. Análisis de redes.
4. Teoría de Juegos.
5. Modelos económicos.
Bibliografía básica
Hillier, F. S. ; Lieberman, G. J. , Introduction to Operations Research. 7th Edition. McGraw Hill, 2002.
Taha, H. A. , Operations Research. An Introduction. Pearson Education. 7th Edition. 2002.
Bibliografía complementaria
Bazaraa, M.S.; Jarvis, J.J. , Programación Lineal y Flujo en Redes, Limusa, 1981.
Moskowitz, H.; Wright, G. P. , Investigación de Operaciones, Prentice Hall, 1979
Phillips, D.T.; Ravindran, A.; Solberg, J.J. , Operations Research: Principles and Practice, John Wiley & Sons, 1976.
Metodología de enseñanza-aprendizaje:
Revisión de conceptos, análisis y solución de problemas en clase:
Lectura de material fuera de clase:
Ejercicios fuera de clase (tareas):
Investigación documental:
Elaboración de reportes técnicos o proyectos:
Prácticas de laboratorio en una materia asociada:
Visitas a la industria:
Metodología de evaluación:
Asistencia:
Tareas:
Elaboración de reportes técnicos o proyectos:
Exámenes de Academia o Departamentales
(X)
(X)
(X)
(X)
A6-23
(X)
(X)
(X)
( )
( )
( )
( )
Descargar