mapa curricular - tamps.cinvestav.mx · mapa curricular de los cursos del doctorado en ciencias en...

49
1 MAPA CURRICULAR Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. El programa doctoral de un estudiante varía de acuerdo al proyecto de investigación, a los intereses y experiencia del estudiante, a su director de tesis y a las recomendaciones emitidas por su comité de admisión. En particular, lo que refiere a cursos y seminarios, el estudiante debe acreditar lo siguiente: Cursos acordados por el Comité de Admisión. Dependerán del tema de tesis y de la formación académica previa del estudiante. Estos pueden variar entre 3 y 5 cursos a lo largo del doctorado. La elección de los cursos busca para el estudiante una formación con los conocimientos esenciales de Ingeniería y Tecnologías Computacionales, con la mayor amplitud y profundidad posible en las áreas relacionadas con el tema de tesis del estudiante. La mayoría de estos cursos se toman del mapa curricular del programa de Maestría en Ciencias en Ingeniería y Tecnologías Computacionales. En caso de que uno o a lo más dos cursos asignados al estudiante de doctorado no fueran ofertados dentro del programa de maestría, entonces el estudiante podrá tomarlos en algún otro departamento del Cinvestav o en alguna otra institución nacional o internacional. En caso de ser necesario un curso de este tipo, el alumno de doctorado deberá solicitar la autorización del Colegio de Profesores. Seminarios de Investigación. Son cursos y mecanismos de evaluación especiales, ofrecidos a los estudiantes con el fin de fortalecer sus capacidades de investigación, al mismo tiempo que sirven de apoyo para dar seguimiento al desarrollo de su proyecto de tesis. Los seminarios de investigación cuentan con temarios que han sido desarrollados para cubrir este propósito.

Upload: hangoc

Post on 20-Sep-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

1

MAPA CURRICULAR Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales.

El programa doctoral de un estudiante varía de acuerdo al proyecto de investigación, a los intereses y experiencia del estudiante, a su director de tesis y a las recomendaciones emitidas por su comité de admisión. En particular, lo que refiere a cursos y seminarios, el estudiante debe acreditar lo siguiente:

Cursos acordados por el Comité de Admisión. Dependerán del tema de tesis y de la formación académica previa del estudiante. Estos pueden variar entre 3 y 5 cursos a lo largo del doctorado. La elección de los cursos busca para el estudiante una formación con los conocimientos esenciales de Ingeniería y Tecnologías Computacionales, con la mayor amplitud y profundidad posible en las áreas relacionadas con el tema de tesis del estudiante. La mayoría de estos cursos se toman del mapa curricular del programa de Maestría en Ciencias en Ingeniería y Tecnologías Computacionales. En caso de que uno o a lo más dos cursos asignados al estudiante de doctorado no fueran ofertados dentro del programa de maestría, entonces el estudiante podrá tomarlos en algún otro departamento del Cinvestav o en alguna otra institución nacional o internacional. En caso de ser necesario un curso de este tipo, el alumno de doctorado deberá solicitar la autorización del Colegio de Profesores.

Seminarios de Investigación. Son cursos y mecanismos de evaluación especiales, ofrecidos a los estudiantes con el fin de fortalecer sus capacidades de investigación, al mismo tiempo que sirven de apoyo para dar seguimiento al desarrollo de su proyecto de tesis. Los seminarios de investigación cuentan con temarios que han sido desarrollados para cubrir este propósito.

Page 2: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

2

Trabajo de Tesis. Mecanismo de seguimiento y evaluación que se debe acreditar cada cuatrimestre durante los estudios de doctorado. El director de tesis del estudiante de doctorado será el responsable de Trabajo de Tesis. Si bien, este no es un curso en toda la extensión de la palabra, representa un instrumento formal para dar seguimiento, orientación y evaluar los avances del estudiante de doctorado por parte de su director de tesis.

Además de los cursos, el estudiante deberá de realizar lo siguiente:

Presentación de un examen predoctoral el cual versará sobre el avance y enfoque del trabajo de investigación. (este examen debe realizarse, a más tardar, hacía finales del noveno cuatrimestre a partir de la fecha de inicio en el doctorado)

Obtención de resultados definitivos. Publicación de resultados de la tesis en foros especializados (se requieren, como

mínimo, dos publicaciones en congresos internacionales, o una en una revista internacional indizada).

Escritura de la tesis. Presentación del examen doctoral (defensa pública de la tesis).

PLAN DE ESTUDIOS En esta sección se presenta la descripción completa de los cursos de la propuesta del doctorado en ciencias en ingeniería y tecnologías computacionales. En todos los casos se presenta el objetivo del curso, la descripción, el temario o contenido y la bibliografía actualizada.

Page 3: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

3

ITC-201: Análisis de Datos

Objetivo

Conocer de manera general las técnicas de Reconocimiento de Patrones y enfoques del proceso general de Minería de Datos. Se describen los fundamentos y conceptos necesarios de cada una de las etapas del proceso. Se explora el uso de fuentes de datos para análisis y toma de decisiones resultantes de tareas de clasificación, predicción, agrupamiento y asociación.

Descripción

En el curso se abordan temas relacionados con el reconocimiento de patrones, aprendizaje máquina y minería de datos para el análisis de datos mediante técnicas supervisadas y no supervisadas. Primeramente se exponen diferentes técnicas de preprocesamiento y preparación de datos, de modo que los datos son "limpiados" y se les da un formato adecuado para su análisis. Posteriormente se presentan diversas técnicas no supervisadas para el agrupamiento y asociación de datos no etiquetados. Finalmente se estudian las técnicas de clasificación supervisada más utilizadas en la práctica y los métodos para evaluar diferentes enfoques.

Contenido

1. Introducción al análisis de datos a. Objetivos del análisis de datos b. Conceptos básicos c. Funciones de similitud d. Tareas en el análisis de datos e. Técnicas generales (predicción, clasificación, agrupación y asociación). f. Aplicaciones

2. Preprocesamiento y preparación de datos a. Operaciones sobre datos b. Problemas en el manejo de datos reales c. Selección de variables d. Selección de instancias e. Reducción de dimensionalidad f. Selección de fuentes de datos g. Calidad de datos

3. Agrupación y asociación a. Conceptos fundamentales de agrupación b. Tipos de agrupación c. Principales técnicas de agrupación d. Análisis estadístico e. Análisis exploratorio f. Reglas de asociación g. Patrones secuenciales h. Análisis semántico latente i. K-means y K-means online j. Algoritmo de Esperanza Maximización k. Cobweb l. Autoclass m. Redes de Kohonen

4. Clasificación y predicción a. Clasificadores Bayesianos

b. Clasificador K‐NN c. Algoritmo perceptrón y regresión logística d. Métodos de mínimos cuadrados

Page 4: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

4

e. Método del kernel f. Análisis lineal discriminante g. Máquina de soporte vectorial h. Algoritmo AdaBoost i. Árboles de decisión j. Redes neuronales artificiales

5. Evaluación de modelos a. Métodos de remuestreo b. Métricas de evaluación c. Análisis estadístico

Bibliografía

Tom M. Mitchell, Machine Learning. Prentice Hall, 2003.

Jiawei Han, Micheline Kamber, Data Mining: Concepts and Techniques. Morgan Kaufmann, 2nd Ed., 2006.

I.H. Witten, E. Frank, Data Mining: Practical Machine Learning Tools and Techniques. Morgan Kaufmann, 1999.

Pang-Ning Tan, Michael Steinbach, Vipin Kumar. Introduction to Data Mining. Addison- Wesley, 2006.

Anil K. Jain, Richard C. Dubes, Algorithms for Clustering Data. Prentice Hall, 1988.

T. Hastie, R. Tibshirani, J. Friedman, Elements of Statistical Learning: Data Mining, Inference and Prediction. Springer-Verlag, 2001

S. Theodoridis, K. Koutroumbas, Pattern Recognition. Academic Press, 4th Ed., 2009.

S. Theodoridis, A. Pikrakis, K. Koutroumbas, D. Cavouras, Introduction to Pattern Recognition. A MATLAB Approach. Academic Press, 2010.

K. L. Priddy, P. E. Keller, Artificial Neural Networks: An Introduction. The International Society for Optical Engineering, 2005.

Page 5: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

5

ITC-202: Cómputo Móvil

Objetivo

El objetivo principal de este curso es el de proporcionar un marco general de los fundamentos, métodos y tecnologías para la compresión de problemáticas y el desarrollo de aplicaciones en el área de computación móvil.

Descripción

La necesidad de información en cualquier momento y lugar, conjuntamente con el surgimiento de dispositivos de cómputo portátiles y los avances en las tecnologías de comunicación inalámbrica e Internet, han hecho a la Computación Móvil una realidad. En términos generales, ésta tiene como finalidad el tratamiento automático de información por medio de dispositivos computacionales con capacidad de movilidad y con acceso digital a fuentes de información vía una infraestructura de comunicación inalámbrica. Los ambientes de cómputo móvil se caracterizan por restricciones importantes de recursos y cambios frecuentes en las condiciones de operación lo cual impone desafíos que involucran diversas áreas de las ciencias computacionales, ingenierías computacional, eléctrica y de telecomunicaciones. Adicionalmente a la formación teórica, el curso tendrá una fuerte orientación practica al desarrollo de aplicaciones en dispositivos móviles, particularmente en teléfonos inteligentes con soporte para Android.

Contenido

1. Introducción y motivación a. Evolución y tendencia tecnológica b. Anatomía de un dispositivo móvil c. Revisión de dispositivos móviles d. Desafíos de la computación móvil e. Aplicaciones de la computación móvil

2. Fundamentos de cómputo móvil a. Definiciones b. Condiciones de movilidad c. Dimensiones de movilidad

i. Conciencia de ubicación ii. Calidad de servicio de conectividad iii. Capacidades computacionales limitadas iv. Restricciones de energía v. Interfaces multimodales vi. Proliferación de plataformas vii. Transacciones activas

3. Comunicaciones móviles a. Fundamentos de transmisión inalámbrica b. Propagación de señal c. Capacidad de canal d. Ancho de banda e. Asignación de ancho de banda

i. Multiplexado: SDMA, FDMA, TDMA, CDMA f. Técnicas de transmisión

i. De corto alcance ii. Celulares iii. Satelitales iv. Estándares de comunicación y redes inalámbricas

4. Tecnologías y plataformas móviles a. Introducción b. Sistemas en un chip

Page 6: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

6

c. Máquinas de cómputo móviles i. Procesador de aplicaciones ii. Procesadores dedicados y aceleradores iii. Multiprocesadores iv. Procesamiento simétrico y asimétrico v. Subsistemas especializados vi. Sistemas operativos móviles

5. Desarrollo de aplicaciones a. Infraestructura y niveles de abstracción b. Ambientes y herramientas de desarrollo c. Organización por capas del software

i. Software de aplicación ii. Middleware iii. Software de bajo nivel

d. Concepción de aplicaciones e integración i. Consideraciones de desempeño ii. Diseño de interfaces de usuario iii. Modelo de datos y memoria iv. Comunicaciones y acceso de entrada/salida v. Aspectos de energía

e. Programación basada en eventos f. Modelo vista controlador g. Aplicaciones nativas y WEB

6. Localización a. Ubicación y movilidad b. Adquisición de ubicación

i. Triangulación ii. Métodos basados en proximidad iii. Análisis visual de una escena

c. Técnicas de adquisición i. Basadas en GPS ii. Basadas en redes inalámbricas y celulares iii. Híbridas

d. Sistema de posicionamiento global (GPS) e. Sistemas de información geográfica

7. Introducción a Android a. Organización y Arquitectura de Android b. Máquina Virtual Dalvik c. Descripción de componentes principales

i. SO y middleware ii. Apps y SDK.

d. Componentes de una aplicación i. Activities ii. Services iii. Broadcast Receivers iv. Content Providers

e. Interacción entre aplicaciones: intentos f. Acceso a información de sensores: pantalla táctil, sensores inerciales

Bibliografía

Reza B’Far, Mobile Computing Principles. Cambridge University Press, 2005.

Page 7: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

7

Tommi Mikkonen, Programming Mobile Devices. John Wiley and Sons, 2007.

K. Pahlavan, Allen H. Levesque, Wireless Information Networks, Wiley-Interscience, 2nd Ed., 2005.

Greg Nudelman, Android design patterns: Interaction design solutions for developers, Wiley, 1st Ed., 2013.

Karim Yaghmour, Embedded Android: Porting, Extending, and Customizing. O'Reilly Media, 1st, 2013

Greg Milette, Adam Stroud, Professional Android Sensors Programming. Wrox, 1st Ed., 2012.

Erik Hellman, Android Programming: Pushing the limits. Wiler, 1st Ed., 2013.

IEEE Computer Magazine.

IEEE Transactions on Mobile Computing.

Page 8: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

8

ITC-203: Cómputo Paralelo

Objetivo

El propósito de este curso es discutir técnicas y aplicaciones de la computación paralela y de las formas en que se construyen aplicaciones para este paradigma. En este curso nos concentraremos en el uso de varios núcleos de procesamiento que se coordinan o comunican entre sí para resolver un problema en común. La coordinación se da ya sea a través de una memoria compartida o mediante el envío de mensajes.

Descripción

La construcción de aplicaciones para cómputo paralelo involucra muchos aspectos que no se presenta en la construcción de aplicaciones convencionales (secuenciales). El diseño de una aplicación paralela tiene que considerar entre otras cosas, el tipo de arquitectura sobre la cual se va a ejecutar, las necesidades de tiempo y espacio que requiere la aplicación, el modelo de programación paralelo adecuado para implantar la aplicación y la forma de coordinar y comunicar a diferentes procesadores para que resuelvan un problema común. Existen varias herramientas disponibles para programación paralela. En este curso nos enfocaremos al uso de pthreads, OpenMP, Cuda y MPI, dado su alta disponibilidad para computadoras diferentes y su aceptación en la comunidad académica.

Contenido

1. Computación Paralela a. ¿Por qué computación paralela? b. Tipos de computadoras paralelas c. Fundamentos del diseño de computadoras paralelas

2. Programas paralelos a. Aplicaciones como casos de estudio b. El proceso de paralelización c. Un caso de estudio d. Programación paralela para mejorar el rendimiento e. Descomposición f. Mapeo g. Calendarización h. Evaluación del rendimiento i. Medidas de eficiencia

3. Programación con memoria compartida a. Procesos b. Sincronización y coordinación de procesos c. Programación Multithreading con pthreads d. Programación Multithreading con OpenMP

4. Programación para GPUs a. Arquitectura de los GPUs b. Cuda c. Casos de estudio d. Estrategias generales de programación paralela e. Particionamiento f. Divide y vencerás g. Aplicaciones tipo pipeline h. Aplicaciones de tipo síncrono i. Balance de carga

5. Algoritmos y aplicaciones a. Algoritmos de ordenamiento b. Algoritmos numéricos

Page 9: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

9

c. Algoritmos para procesamiento de imágenes d. Algoritmos de búsqueda y optimización

6. Programación paralela mediante intercambio de mensajes a. Principios básicos b. Message Passing Interface

Bibliografía

D. Culler, J. Singh, A. Gupta, Parallel Computer Architecture: A Hardware/Software Approach. Morgan Kauffman Publishers, 1998.

I. T. Foster, Designing and Building Parallel Programs. Addisson-Wesley, 1995.

Ananth Grama, George Karypis, Vipin Kumar, Anshul Gupta. An Introduction to Parallel Computing: Design and Analysis of Algorithms. Addisson-Wesley, 2nd Ed., 2003.

Pater Pacheco, An Introduction to Parallel Programming. Morgan Kaufmann, 2011.

M. J. Quinn, Parallel Programming in C with MPI and OpenMP. McGraw-Hill, 2003.

B. Wilkinson, M. Allen, Parallel Programming: Techniques and Aplications Using Networked Workstations and Parallel Computers. Prentice-Hall, 2nd Ed., 2004.

N. Wilt, The CUDA Handbook: A Comprehensive Guide to GPU Programming. Addison-Wesley Professional, 2013.

M. Herlihy, The Art of Multiprocessor Programming. Morgan Kaufman, 2012.

B. Chapman, Using OpenMP: Portable Shared Memory Parallel Programming. The MIT Press, 2007.

Page 10: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

10

ITC-204: Sistemas Distribuidos

Objetivo

Dotar al alumno de conocimientos para que pueda comprender y aplicar los conceptos fundamentales de los sistemas distribuidos, tanto para el área de base de datos, como para las aplicaciones en red, como manejo de protocolos, sistemas operativos, bajo diferentes tipos de arquitecturas (cliente/servidor, P2P). Que el alumno pueda programar aplicaciones en sistemas distribuidos a gran escala como la Web. Que el alumno comprenda las tecnologías middleware como Sockets, RPCs, RMIs, Corba y Servicios Web

Descripción

La materia contribuye a la conformación de habilidades técnicas de alto nivel en el área de sistemas distribuidos. Específicamente el curso coadyuva a reforzar los conceptos en el área de sistemas distribuidos y distinga los aspectos más importantes de este tipo de sistemas; conocer las principales tecnologías de programación para sistemas distribuidos; diseñar e implementar sistemas distribuidos utilizando herramientas de programación de ultima generación; y conocer las principales tecnologías para el diseño de sistemas distribuidos.

Contenido

1. Introducción a los sistemas distribuidos a. Tipos de sistemas distribuidos b. Modelos de sistemas c. Retos para los sistemas distribuidos d. Ejemplos de sistemas distribuidos

2. Comunicación entre procesos a. Uso de Threads b. Comunicación con Sockets

3. Middlewares a. Introducción b. RPC c. CORBA d. Servicios Web

4. Sincronización a. Sincronización por reloj b. Exclusión mutua c. Elección de líder

5. Datos compartidos a. Control de concurrencia y transacciones b. Replicación de datos y Consistencia c. Sistemas de archivos distribuidos

6. Tolerancia a Fallos a. Introducción b. Recuperación c. Comunicación confiable

7. Seguridad a. Introducción b. Control de acceso, autenticación c. Comunicaciones seguras

8. Arquitecturas de sistemas distribuidos a. Arquitectura Cliente/Servidor b. Sistemas P2P c. Arquitecturas de aplicaciones Web

Page 11: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

11

Bibliografía

George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair, Distributed Systems: Concepts and Design. Addison Wesley, 5th Ed., 2011

Andrew S. Tanenbaum, Maarten van Oteen, Distributed Systems: Principles and Paradigms. Prentice-Hall, 2nd Ed., 2006.

Vijay K. Garg, Concurrent and Distributed Computing in Java. Wiley-IEEE Press, 2004.

Ian J. Taylor, Andrew Harrison, From P2P to Web Services and Grids: Peers in a Client/Server World. Springer; 1st Ed., 2004.

Sukumar Ghos, Distributed Systems: An Algorithmic Approach. Chapman & Hall/CRC, 2007.

Marko Boger, Java in Distributed Systems: Concurrency, Distribution and Persistence. John Wiley & Sons, 1st Ed., 2001.

Andrew S. Tanenbaum, Distributed Operating Systems. Prentice-Hall, 1994.

Page 12: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

12

ITC-205: Análisis y Diseño de Algoritmos

Objetivo

Proporcionar al alumno las herramientas para realizar un análisis teórico, independiente de la programación, de los algoritmos, así como para llevar a cabo un diseño eficiente de los mismos con un enfoque en aspectos importantes del problema

Descripción

El diseño eficiente de algoritmos es fundamental en el mundo de la Computación. Después de iniciar con las conjeturas de qué es un buen algoritmo, el curso trata con los problemas de gráficas y estructuras de datos alcanzando el campo de Optimización Combinatoria. En el curso se tratan problemas de combinatoria y algoritmos probabilísticos. También se analizan algoritmos de tipo numérico, de las áreas de álgebra lineal y criptografía entre otras, con aplicaciones a computación en paralelo.

Contenido

1. Crecimiento de las funciones a. Crecimiento exponencial y polinomial b. Notación asintótica

2. Algoritmos numéricos. a. Aritmética básica b. Aritmética modular c. Pruebas de primalidad d. Criptografía e. Funciones de dispersión

3. Algoritmos divide-y-vencerás a. Multiplicación b. Relaciones de recurrencia c. Mergesort y otros métodos de ordenamiento d. Multiplicación de matrices

4. Estructuras de datos a. Pilas, colas y listas b. Árboles binarios c. Otros árboles de búsqueda d. Estructuras para conjuntos disjuntos

5. Algoritmos con grafos: descomposición a. Búsqueda de primero en profundidad b. Búsqueda en grafos dirigidos c. Ordenamiento topológico d. Componentes fuertemente conexos

6. Algoritmos con grafos: caminos a. Búsqueda de primero en amplitud b. Caminos más cortos: aristas con longitudes c. El algoritmo de Dijkstra d. Caminos más cortos: aristas con longitudes negativas e. Caminos más cortos: grafos dirigidos acíclicos

7. Algoritmos voraces a. Árboles recubridores mínimos b. Codificación de Huffman c. Cobertura de conjuntos

8. Programación dinámica a. Caminos más cortos en grafos dirigidos acíclicos

Page 13: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

13

b. Subsecuencias crecientes más largas c. El problema de la mochila d. Conjuntos independientes en árboles

9. Programación lineal a. Planteamiento de la programación lineal b. Dualidad c. El algoritmo simplex

10. Problemas NP completos a. Problemas de búsqueda b. Clasificación P-NP c. Reducciones d. Algoritmos de aproximación

Bibliografía

Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, Introduction to Algorithms. The MIT Press and McGraw-Hill, 3rd Ed., 2009.

S. Dasgupta, C. H. Papadimitriou, U. V. Vazirani, Algorithms. McGrow Hill, 2006.

Anany V. Levitin, Introduction to the Design and Analysis of Algorithms. Addison Wesley, 3rd Ed., 2011.

Alfred V. Aho, John E. Hopcroft, Jeffrey D. Ullman, The Design and Analysis of Computer Algorithms. Addison-Wesley, 1974.

Page 14: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

14

ITC-206: Inteligencia Computacional

Objetivo

Presentar al alumno una visión general de los grandes paradigmas que conforman la inteligencia computacional. Asimismo, proporcionar los conocimientos teórico-prácticos necesarios para utilizar y desarrollar técnicas de inteligencia computacional, como herramientas para optimización, entre otros propósitos.

Descripción

En este curso se estudiarán los diversos paradigmas que componen la inteligencia computacional, tanto principios de diseño, objetivos, así como implementación y experimentación. Los paradigmas estudiados serán: computación evolutiva, inteligencia de enjambre, sistemas inmunes artificiales y sistemas neuro-difusos.

Contenido

1. Introducción a la inteligencia computacional 2. Introducción al aprendizaje máquina

a. Conceptos básicos de búsqueda y aprendizaje máquina 3. Introducción a la computación evolutiva

a. Visión general de algoritmos genéticos, programación evolutiva y estrategias evolutivas b. Evolución diferencial c. Algoritmos culturales d. Coevolución

4. Inteligencia colectiva a. Visión general de la inteligencia colectiva b. Optimización mediante cúmulos de partículas

i. Algoritmo básico ii. Topologías de interconexión iii. Variantes básicas iv. Parámetros principales v. Tópicos avanzados

c. Algoritmos de hormigas i. Introducción ii. Modelos principales

5. Sistemas inmunes artificiales a. Visión general del sistema inmune natural b. Modelos principales

6. Sistemas neuro-difusos a. Visión general de las redes neuronales b. Fundamentos, modelos y aplicaciones de redes neuronales c. Aprendizaje supervisado en redes neuronales d. Aprendizaje no supervisado en redes neuronales e. Redes de funciones de base radial. f. Conjuntos difusos g. Lógica difusa h. Control difuso i. Conjuntos rugosos

Bibliografía

Andries P. Engelbrecht, Computational Intelligence: An Introduction. John Wiley and Sons, 2nd Ed., 2007.

Russell Eberhart, Yuhui Shi, Computational Intelligence: Concepts to Implementations. Morgan Haufmann, 2007.

S. Sumath, Surekha Paneerselvan, Computational Intelligence Paradigms: theory and applications

Page 15: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

15

using Matlab. CRC Press, 2010.

Lezsek Rutkowki, Computational Intelligence: Methods and Techniques. Springer, 2010.

Simon Haykin, Neural Networks and Learning Machines. Prentice Hall, 3rd Ed., 2008.

Agoston E. Eiben, J. E. Smith, Introduction to Evolutionary Computing. Springer, 2007.

Page 16: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

16

ITC-207: Optimización Combinatoria

Objetivo

El objetivo de este curso es que el estudiante conozca y aplique a problemas teóricos y del mundo real el paradigma de solución basado en la optimización combinatoria.

Descripción

El paradigma de solución de la optimización combinatoria descansa en fundamentos teóricos para modelar y representar problemas, y en algoritmos de búsqueda local para resolver dichos problemas. El fundamento teórico de la optimización combinatoria se apoya en la teoría de la complejidad computacional y en el uso de objetos matemáticos para representar problemas de optimización combinatoria. Los objetos matemáticos que serán presentados incluyen; grafos, árboles, permutaciones, particiones, cadenas de crecimiento restringido, polinomios diagonales, polinomios caja, polinomios “mayor que”. Es altamente relevante el énfasis que se hace sobre la representación, generación, y enumeración. Los algoritmos de búsqueda local usan la modelización/representación basada en objetos matemáticos para resolver instancias de problemas teóricos y prácticos. Los algoritmos de búsqueda local que serán tratados en detalle incluyen: a) algoritmos de mutación/selección; b) algoritmo de recocido simulado; c) algoritmos genéticos; d) búsqueda tabú; y e) algoritmo de colonia de hormigas. Al final del curso se espera que el estudiante tenga los conocimientos y habilidades necesarias para modelar problemas de la vida real usando al menos los objetos matemáticos vistos en el curso, y resolver dichos problemas usando algoritmos de optimización combinatoria básicos o mezclas de ellos.

Contenido

1. Teoría de complejidad computacional a. Teoría de NP-Completez b. Definición de las clases de complejidad computacional c. Procedimiento para la demostración de la NP-Completez

2. Representación y Generación (RG) de objetos matemáticos a. RG de grafos b. RG de árboles c. RG de permutaciones d. RG de particiones e. RG de cadenas de crecimiento restringido f. RG de polinomios diagonales, polinomios caja, y polinomios “mayor que”

3. Algoritmos de Mutación y Selección a. Introducción a los Algoritmos de mutación y selección b. Algoritmo de 1 padre – 1 hijo c. Algoritmo de 1 padre – m hijos d. Algoritmo de n padres – m hijos selección uniforme e. Algoritmo de n padres – m hijos selección proporcional f. Sintonización de parámetros

4. Algoritmo de Recocido simulado a. Algoritmos de aceptación por umbral b. La analogía física c. Modelos Markovianos d. Un modelo homogéneo e. Un modelo no-homogéneo f. Comportamiento asintótico g. Calendarización de enfriamiento h. Sintonización de parámetros

5. Algoritmos Genéticos a. Algoritmos evolutivos

Page 17: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

17

b. Bases teóricas de los algoritmos genéticos c. Genética de poblaciones d. Selección artificial e. Selección natural f. Recombinación de genes g. Sintonización de parámetros

6. Búsqueda Tabú a. Inspiración del algoritmo de búsqueda tabú b. Métodos de solución con un enfoque iterativo c. Uso eficiente de la memoria d. Listas tabú de tamaño variable e. El criterio de aspiración f. Ajuste de la diversificación g. Sintonización de parámetros

7. Algoritmo de Colonia de Hormigas (ACH) a. Teoría de la optimización basada en colonia de hormigas b. Representación ad-hoc para ACH c. Problemas de enrutamiento d. Problemas de calendarización

8. Aplicación a problemas reales a. Modelización de problemas reales b. Análisis de la representación y espacio de búsqueda c. Funciones de vecindad d. Sintonización de parámetros

Bibliografía

E. Aarts, J. Karel, Local Search in Combinatorial optimization. Princeton University Press, 2003.

M. Dorigo, T. Stützle, Ant Colony Optimization. Prentice-Hall, 2004.

D. L. Kreher, D. R. Stinson, Combinatorial Algorithms Generation, Enumeration, and Search. CRC Press, 1998.

F. Glover, M. Laguna, Tabu Search. Kluwer Academic Publishers, 1997.

D. Goldberg, The Design of Innovation (Genetic Algorithms and Evolutionary Computation). Springer 2002.

Page 18: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

18

ITC-208: Ciencia de Datos

Objetivo

Que el estudiante conozca diversas técnicas y tecnologías utilizadas para el almacenamiento, procesamiento, análisis y visualización de grandes volúmenes de datos.

Descripción

El curso introduce al estudiante los aspectos teóricos y prácticos sobre técnicas y tecnologías para obtener información valiosa a partir de grandes volúmenes de datos, partiendo desde el proceso de adquisición y almacenamiento de los mismos, hasta su procesamiento, análisis y visualización.

Contenido

1. Introducción a la ciencia de datos a. ¿Qué es la ciencia de datos? b. Aplicaciones c. Relación con otras áreas

2. Almacenamiento y manipulación de datos a gran escala a. Bases de datos relacionales, b. Almacenes de datos c. Bases de datos paralelas d. Bases de datos NoSQL e. Big Data

3. Análisis de datos a. Conceptos básicos de modelado, representación y aprovechamiento de datos b. Aprendizaje no supervisado c. Aprendizaje supervisado d. Diseño de experimentos e. Revisión de algoritmos de aprendizaje automático (machine learning) f. Caso de uso con Python y Lenguaje R

4. Presentación de resultados a. Evaluación de resultados b. Análisis de resultados c. Visualización de datos

5. Casos de uso con diferentes tipos de datos a. Recuperación de información b. Análisis de estructuras de grafos c. Razonamiento d. Detección de fraudes e. Redes sociales f. Minería Web

Bibliografía

Cathy O'Neil, Rachel Schutt, Doing Data Science: Straight Talk from the Frontline. O'Reilly Media, 1st Ed., 2013.

Russell Jurney, Agile Data Science: Building Data Analytics Applications with Hadoop. O'Reilly Media, 1st Ed., 2013.

Nina Zumel, John Mount, Practical Data Science with R. Manning Publications, 1st Ed., 2014.

Wes McKinney, Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython. O'Reilly Media, 1st Ed., 2012.

Anand Rajaraman, Jeffrey D. Ullman, Mining of Massive Datasets. Cambridge University Press, 2011.

Manoj R Patil, Feris Thia, Pentaho for Big Data Analytics. Packt Publishing, 2013.

Page 19: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

19

Tom White, Hadoop: The Definitive Guide. Yahoo Press, 3rd Ed., 2012.

Page 20: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

20

ITC-209: Redes de Computadoras

Objetivo

Que el estudiante conozca y experimente la estructura y organización de diversas redes de computadoras y sus protocolos de comunicación.

Descripción

En este curso se estudia la estructura y organización de las redes de computadoras tomando en cuenta la división de las capas que integran la pila de protocolos y las relaciones que existen entre ellas. Se estudian diversos protocolos de aplicación, transporte, red y enlace desde un punto de vista analítico y práctico. Se realizan simulaciones mediante software especializado con el fin de aplicar los conocimientos adquiridos en el curso.

Contenido

1. Introducción a redes de computadoras. a. Modelo cliente-servidor b. Descripción general de modelos de referencia TCP/IP y OSI

2. Capa de aplicación a. Requerimientos de servicios b. Protocolos de aplicación básicos: http, http, smtp, DNS, etc.

3. Capa de transporte a. Modelos de servicio b. Conceptos de multiplexación y de-multiplexación c. Protocolos no orientados a conexión d. Protocolos orientados a conexión e. Mecanismos de control de conexión y variantes de TCP

4. Capa de Red a. Descripción de la capa IP (Internet Protocol) b. Esquemas de direccionamiento de la capa de red c. Algoritmos de enrutamiento d. Enrutamiento en Internet

5. Conceptos de Capa de Enlace a. Esquemas de direccionamiento de la capa de enlace b. Servicios de la capa de enlace c. Redes de Área Local

Bibliografía

Jim Kurose, Keith Ross, Computer Networking: A Top Down Approach Featuring the Internet. Addison-Wesley, 6th Ed., 2'12.

S. Tanenbaum, Computer Networks. Prentice Hall, 5th Ed., 2010.

W. Stallings, Comunicaciones y Redes de Computadores. Prentice Hall, 7th Ed., 2008.

A. Lopez, Protocolos de Internet. Diseño e implementación en sistemas UNIX. Ra-ma, 1999.

W. Stevens, TCP/IP Illustrated: The protocols, Volume 1. Addison-Wesley, 1994.

W. Stevens, TCP/IP Illustrated: The implementation, Volume 2. Addison-Wesley, 1995.

W. Stevens, TCP/IP Illustrated: The implementation, Volume 3. Addison-Wesley, 2001

D. E. Comer, Internetworking with TCP/IP, Volume 1. Addison-Wesley, 6th Ed., 2013.

Page 21: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

21

ITC-210: Codificación y compresión de datos

Objetivo

Presentar los fundamentos de la compresión de datos y de la codificación de los mismos para su protección contra errores durante la transmisión en redes de información.

Descripción

En el curso se presentan diversas técnicas de compresión, con y sin pérdidas, dirigidas a comprimir texto plano y señales multimedia. Se analizan los conceptos de entropía, cantidad de información, información mutua y canales de información. Los esquemas de codificación para la detección y la corrección de errores son discutidos. Los parámetros fundamentales que describen a un código corrector son definidos e interpretados dentro del marco de la transmisión digital de la información. Finalmente, se exploran esquemas de inserción de datos en señales multimedia y la protección de los mismos utilizando códigos correctores de errores.

Contenido

1. Introducción a la Teoría de la Información a. Reseña histórica y objetivos de la Teoría de la Información b. Fuentes de información

2. Entropía y cantidad de información a. Medida de información: entropía de Shannon b. Entropía condicional, entropía conjunta c. Información mutua

3. Compresión entrópica de datos a. Teorema de codificación de fuentes de Shannon b. Códigos decodificables de forma única. Desigualdad de Kraft-McMillan c. Teorema de codificación de símbolos d. Códigos óptimos

4. Compresión con pérdidas a. Procesamiento digital de señales para compresión con pérdidas b. Compresión de señales de audio c. Compresión de imágenes digitales d. Compresión de videos e. Estándares de compresión

5. Capacidad de canal y segundo teorema de Shannon a. Definición de capacidad de un canal b. Teorema de codificación de fuentes con ruido (segundo teorema de Shannon) c. Códigos detectores y correctores de errores d. Códigos de detección de errores e. Códigos de corrección de errores f. Códigos sistemáticos g. Códigos no binarios

6. Marcas de agua digitales a. Comunicaciones secretas, medios digitales como canales subliminales b. Espectro disperso c. Comunicación con información lateral d. Teoría de la Información en la esteganografía e. Problemas abiertos

7. Casos de estudio a. Corrección de errores de datos esteganográficos en presencia de ataques intencionales y no

intencionales

Page 22: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

22

Bibliografía Fazlollah Reza, An Introduction to Information Theory. Dover, 1961.

Claude E. Shannon, The Mathematical Theory of Commmunication. University of Illinois Press, 1998.

Richard E. Blahut, Algebraic Codes for Data Transmision. Cambridge University Press, 2002.

Cox, M. Miller, J.Bloom, J. Fridrich, Digital Watermarking. Morgan Kaufmann, 2nd Ed., 2007.

M. Barni, F. Bartolini, Watermarking Systems Engineering: Enabling Digital Assets Security and Other Applications. Marcel Dekker, 2007.

Page 23: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

23

ITC-211: Diseño de Sistemas Digitales

Objetivo

Desarrollar abstracciones para formular y resolver problemas de ingeniería mediante el diseño, modelado y gestión de sistemas digitales complejos. Aplicar metodologías, técnicas y herramientas apropiadas para el diseño de sistemas digitales para satisfacer requerimientos o necesidades específicas de una aplicación.

Descripción

En este curso se estudia el diseño de sistemas digitales incluyendo aspectos relacionados a las metodologías de diseño e implantación, simulación, depuración y verificación de diseños complejos bajo una perspectiva computacional. El curso cubre los principios, metodologías y herramientas de diseño de sistemas electrónicos y computacionales a la medida, y está organizado para proporcionar una visión moderna de los sistemas digitales. Se presentan los aspectos más relevantes del uso de lenguajes de descripción de hardware, la síntesis de alto nivel y técnicas de optimización dentro del marco de diseño asistido por computadora. El curso tiene una componente práctica importante basada en la tecnología de lógica programable como plataforma de desarrollo y el uso de herramientas asistidas por computadora (CAD) asociada a esta tecnología.

Contenido

1. Introducción a. Evolución y tendencia tecnológica b. Espacio y objetivos de diseño c. Métricas de desempeño d. Componentes del procesos de diseño e. Diseño asistido por computadora f. Tecnologías de implementación

2. Señales y sistemas digitales a. Principios básicos b. Muestreo de señales en tiempo continuo c. Teorema de muestreo d. Representación numérica aritmética en punto fijo

3. Metodología de diseño de sistemas complejos a. Especificaciones de diseño b. Modelado y niveles de abstracción c. Metodología top-down y bottom-up d. Jerarquía de diseño e. Co-diseño hardware/software f. Verificación de diseño

4. Lenguajes de descripción de hardware a. Objetivos de HDLs b. Estructura, temporización y concurrencia c. Sintaxis, semántica y pragmática d. Modelado estructural y RTL e. Caso de estudio VHDL f. Estructuras secuenciales y concurrentes g. Modelado de componentes discretos h. Administración de diseños i. Generación de bancos de pruebas

5. CAD y síntesis digital a. Lenguajes de modelado y formalismos de especificación b. Fundamentos de síntesis digital c. Calendarización/asociación de funciones y componentes

Page 24: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

24

d. Representación y optimización e. Síntesis de data-path y control f. Máquinas de estados finitos y microprogramadas g. Arreglos de Compuertas Programables en Campo (FPGAs) h. Síntesis de alto nivel en FPGAs

Bibliografía

Shoab Ahmed Khan, Digital design of signal processing systems: a practical approach. Wiley, 2011.

Laung-Terng Wang, Yao-Wen Chang, Kwang-Ting Cheng, Electronic desig automation: synthesis, verification and Test. Morgan Kauffman, 2009.

K. C. Chang, Digital systems design with VHDL and synthesis: An integrated approach. IEEE Computer Society Press, 1999.

Pong P. Chu, RTL hardware design using VHDL: coding for efficiency, portability, and scalability. Wiley-IEEE press, 2006.

Giovanni De Micheli, Synthesis and optimization of digital circuits. McGraw-Hill, 1994.

Page 25: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

25

ITC-212: Robots Móviles Inteligentes

Objetivo

Conocer los fundamentos de los aspectos computacionales utilizados en robots móviles autónomos. Estudiar los componentes de un robot móvil: percepción, visión, planeación, navegación, construcción de mapas y localización. Aplicar los conocimientos adquiridos en el desarrollo de proyectos con robots móviles.

Descripción

La robótica móvil inteligente se centra principalmente en el desarrollo de robots móviles capaces de realizar distintas tareas con mínima intervención humana, es decir, desarrollar vehículos que sean capaces de percibir su medio ambiente y extraer la información necesaria para realizar sus propias decisiones en busca de alcanzar un objetivo particular. En este curso se enseñarán los conceptos básicos de la robótica móvil autónoma y la teoría que la concierne. Se explicarán características básicas como la programación de comportamientos reactivos, y los principios de funcionamiento de sensores y actuadores. Con el uso de kits de robótica, se diseñarán robots capaces de realizar tareas simples del tipo “evitar obstáculos”, “seguimiento de líneas” y “limpieza de superficies”.

Contenido

1. Introducción a. ¿Qué es un robot? b. Historia y motivaciones c. Clasificación de robots d. Componentes principales y conceptos básicos e. Problemáticas f. Aplicaciones

2. Arquitectura de robots móviles a. Diseño de robots móviles b. Mecánica c. Modelos matemáticos d. Clasificación de robots móviles

3. Percepción a. Sensores propioceptivos b. Sensores exteroceptivos c. Ruido d. Imprecisión e. Caracterización de sensores f. Filtros

4. Modelos de comportamiento a. Definiciones b. Motivaciones biológicos c. Vehículos de Braitenberg

5. Control de robots móviles a. Sistemas lineales b. Control en lazo abierto y en lazo cerrado c. Elementos de control d. Sistemas no holonómicos e. Principios de lógica difusa f. Principios de programación en tiempo real

6. Visión por computadora a. Principios b. Filtros c. Características invariantes

Page 26: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

26

d. Color e. Reconocimiento de patrones

7. Modelado del entorno a. Definiciones b. Representaciones geométricas c. Representaciones topológicas d. Espacio de configuraciones e. Localización f. Construcción de mapas

8. Planificación de trayectorias a. Definiciones. Enfoque local y global del problema de planificación b. Grafos de visibilidad y de tangentes c. Planificación por frentes de onda d. Campos de potencial artificial e. Planificadores cinemáticas f. Algoritmos bio-inspirados

9. Robots inteligentes a. Procesos de decisión de Markov b. Métodos básicos de solución c. Clasificadores d. Aprendizaje por refuerzo

10. Temas avanzados en robótica móvil a. Interacción hombre-máquina b. Sistemas multirobots c. Robots humanoides d. Aplicaciones específicas

Bibliografía

G. Dudek, M. Jenkin, Computacional principles of mobile robots. Cambridge University Press, 2nd Ed., 2010.

Roland Siegwart, Illah Reza Nourbakhsh, Davide Scaramuzza, Introduction to Autonomous Mobile Robots. The MIT Press, 2nd Ed., 2011.

Page 27: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

27

ITC-303: Metaheurísticas Avanzadas

Objetivo

Al finalizar el curso el alumno conocerá una colección de métodos metaheurísticos para optimización, entre ellos modernos y clásicos, con relevancia teórica y/o práctica. Será capaz de analizar los escenarios de aplicación, elegir la metaheurística más adecuada para un problema en particular, implementarla y hacer modificaciones pertinentes en cada caso.

Descripción

Este curso consiste de un repaso de las metaheurísticas históricamente relevantes, llegando a propuestas contemporáneas. Se comenzará con los temas teóricos de las condiciones necesarias y suficientes, así como su aplicación en métodos analíticos. Posteriormente se repasará una serie de métodos numéricos, tanto directos como de gradiente, que resuelven el problema de optimización incrementalmente, desde su versión más simple hasta las más generales. Por último, las metaheurísticas actuales, ya sea de un solo punto o poblacionales. En todos los casos se habla de su motivación, aplicabilidad y temas abiertos de investigación. Posteriormente se revisarán algunos temas de diseño, como es el control de parámetros o los algoritmos híbridos. Para terminar, se hablará de las técnicas de paralelización más comúnmente utilizadas con metaheurísticas.

Contenido

1. Métodos clásicos a. Condiciones necesarias y suficientes para funciones univariables b. Condiciones necesarias y suficientes para funciones multivariables c. Condiciones de Khun-Tucker. d. Condiciones de Khun-Tucker para funciones multiobjetivo

2. Métodos numéricos a. Métodos directos univariables b. Métodos de gradiente univariables c. Métodos directos multivariables d. Métodos de gradiente multivariables e. Manejo de restricciones f. Optimización multiobjetivo

3. Metaheurísticas basadas en una solución a. Búsqueda local b. Búsqueda tabú c. Búsqueda local iterada d. Búsqueda en vecindario variable e. Búsqueda local guiada

4. Metaheurísticas poblacionales a. Búsqueda dispersa b. Optimizador del lobo gris c. Búsqueda cuco d. Algoritmo de abejas e. Algoritmo de luciérnagas

5. Control de parámetros a. Sintonización de parámetros b. Adaptación en línea

6. Algoritmos híbridos a. ¿Por qué hibridar? b. ¿Dónde hibridar? c. Búsqueda de grano fino vs. búsqueda de grano grueso

7. Metaheurísticas paralelas

Page 28: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

28

a. Paralelismo global b. Paralelismo de grano grueso c. Paralelismo de grano fino

Bibliografía

El-Ghazali Talbi, Metaheuristics: From Design to Implementation. John Wiley and Sons, 2009.

Zbigniew Michalewicz, David B. Fogel, How to Solve It: Modern Heuristics. Springer, 2nd Ed., 2004.

Singiresu S. Rao, Engineering Optimization: Theory and Practice. John Wiley and Sons, 4th Ed., 2009.

Kalyanmoy Deb, Optimization For Engineering Design: Algorithms and Examples. Prentice Hall, 2nd Ed., 2013.

Page 29: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

29

ITC-304 Topicos Selectos en Optimizacion Combinatoria

Objetivo: El objetivo general del curso de tópicos selectos de optimización combinatoria es presentar aspectos fundamentales avanzados de la optimización combinatoria. Como objetivos específicos este curso cubre diversas alternativas para la: representación de un problema; definición de la función a optimizar; creación de diseños experimentales; y sintonización de algoritmos.

Descripción: Se considera que el estudiante que tome este curso tiene experiencia trabajando con algoritmos de optimización combinatoria (algoritmos genéticos, recocido simulado, búsqueda tabú, etc. ) dado que el énfasis está en la revisión de aspectos relacionados con la eficiente solución de problemas bajo el paradigma de la optimización combinatoria. En este curso se hace énfasis en las diversas alternativas que existen para representar un problema, ajustar la función a optimizar, realizar un diseño experimental adecuado, y sintonizar los parámetros del algoritmo a utilizar. En la representación de un problema se revisaran alternativas como: grafos, permutaciones, particiones de un conjunto, cadenas de crecimiento restringido, y representaciones vectoriales. En el contexto de la función objetivo se cubren diversas alternativas para la función objetivo para problemas mono-objetivo y multi-objetivo. En el contexto del diseño experimental se cubren: diseños factoriales completos, diseños factoriales fraccionarios, arreglos ortogonales, arreglos de cobertura (covering arrays) y ecuaciones Diofánticas. En el contexto de la sintonización de parámetros se revisa el análisis estadístico del diseño experimental para poder sintonizar adecuadamente los parámetros de los algoritmos.

Contenido: I. El problema de la representación

- Representaciones usando grafos - Representaciones usando permutaciones - Representaciones usando particiones - Representaciones usando cadenas de crecimiento restringido - Representaciones usando polinomios y vectores

II. El problema de la función objetivo - Suavización de funciones mono objetivo - Escalamiento de funciones con múltiples objetivos

III. El problema del diseño experimental

- Diseños Factoriales - Arreglos Ortogonales - Arreglos de Cobertura (Covering Arrays) - Ecuaciones Diofánticas

IV. El problema de la sintonización de algoritmos

- Revisión de métodos de análisis paramétrico - Revisión de métodos de análisis no-paramétrico

Bibliografía:

1. Donald L. Kreher , Douglas R. Stinson, Combinatorial Algorithms: Generation, Enumeration, and Search, CRC Press; 1st edition 1998, ISBN-10: 084933988X, ISBN-13: 978-0849339882

Page 30: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

30

2. Yann Collette, Patrick Siarry, Multiobjective Optimization: Principles and Case Studies, Springer 2013,ISBN-10: 3642072836, ISBN-13: 978-3642072833

3. D. Richard Kuhn, Raghu N. Kacker, Yu Lei, Introduction to Combinatorial Testing, CRC Press 2013, ISBN-10: 1466552298, ISBN-13: 978-1466552296

4. David J. Sheskin, Handbook of Parametric and Nonparametric Statistical Procedures, Chapman and Hall/CRC, Fifth Edition 2011, ISBN-10: 1439858012, ISBN-13: 978-1439858011

5. Emile Aarts, Jan Karel Lenstra, Local Search in Combinatorial Optimization, Wiley 1997, ISBN-10: 0471948225, ISBN-13: 978-0471948223

Page 31: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

31

ITC-305: Tópicos Selectos en Inteligencia Computacional

Objetivo

Profundizar en los aspectos teóricos y prácticos de los temas de inteligencia computacional, y principalmente de computación evolutiva. Analizar propuestas actuales y problemas abiertos, tanto en el diseño de los algoritmos como en la aplicación en problemas específicos.

Descripción

En este curso se profundizará en los paradigmas de computación evolutiva, así como otros algoritmos de inteligencia computacional para optimización. Comenzando con los paradigmas clásicos, se verán las principales cuestiones de diseño y algunas propuestas actuales, que responden a retos particulares del planteamiento del problema y desempeño en la aplicación. Posteriormente se revisarán algunas variantes generales del problema de optimización numérica, y las extensiones que han sido propuestas para lidiar con ellos. Para terminar, se hará una revisión de los aportes teóricos, donde se repasarán aquellos más importantes, que han clarificado las propiedades de los algoritmos, así como las limitaciones que presentan.

Contenido

1. Estrategias evolutivas a fondo a. Operadores b. Selección c. Autoadaptación y matrices de covarianza

2. Programación evolutiva a fondo a. Operadores b. Selección c. Programación evolutiva rápida

3. Algoritmos genéticos a fondo a. Terminología b. Representación c. Técnicas de selección d. Operadores genéticos (cruza y mutación)

4. Manejo de restricciones en computación evolutiva a. Superioridad de puntos factibles b. Mapeos homomorfos c. Jerarquización estocástica d. Enfoques basados en optimización multiobjetivo e. Métodos híbridos f. Evolución diferencial generalizada

5. Ambientes dinámicos a. Mecanismos en algoritmos evolutivos b. EP y ES en ambientes dinámicos

6. Optimización multiobjetivo a. Optimalidad de Pareto b. Algoritmos representativos del estado del arte c. Manejo de diversidad d. Métricas y problemas de prueba

7. Aportaciones teóricas a. Funciones separables b. Invarianza rotacional c. Ajuste de contornos d. Demostraciones de convergencia e. Bloques constructores

Page 32: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

32

f. Paralelismo implícito g. Teorema de los esquemas h. Problemas deceptivos i. Funciones de la carretera real j. No hay almuerzo gratis

Bibliografía

Agoston E. Eiben, J. E. Smith, Introduction to Evolutionary Computing. Springer, 2007.

Russell Eberhart, Yuhui Shi, Computational Intelligence: Concepts to Implementations. Morgan Haufmann, 2007.

Kenneth Price, Rainer M. Storn, Differential Evolution: A Practical Approach to Global Optimization. Springer, 2005.

Carlos A. Coello Coello, David A. Van Veldhuizen, Gary B. Lamont, Evolutionary Algorithms for Solving Multi-Objective Problems, Kluwer Academic Publishers, 2nd Ed., 2007.

Kalyanmoy Deb, Multi-Objective Optimization using Evolutionary Algorithms, John Wiley & Sons, 2009.

Page 33: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

33

ITC-306: Tópicos Selectos en Redes de Computadoras

Objetivo

Este curso tiene como objetivo el estudio de las tecnologías y protocolos más avanzados para la construcción de redes de computadoras y redes de comunicaciones fijas y móviles. El curso tambien persigue que el alumno adquiera conocimientos teóricos y prácticos de los requerimientos y técnicas más actualizadas que requieren las redes de computadoras y comunicaciones para el aprovisionamiento de calidad de servicio de una manera automática.

Descripción

En este curso se estudian las técnicas más recientes para la construcción de redes de computadoras y protocolos de comunicación. Se revisan las tecnologías y protocolos de comunicación utilizadas en redes fijas y móviles. Se analizan los requisitos de servicio que demandan las nuevas aplicaciones multimedia. Se estudian las arquitecturas y tecnologías para el aprovisionamiento de calidad de servicio en redes de próxima generación. Se describen los conceptos fundamentales de gestión de redes y servicios, como un instrumento para el aprovisionamiento de calidad de servicio. Se describen las tecnologías emergentes para realizar la automatización de las tareas de gestión de red en ambientes dinámicos. Se realizan simulaciones mediante software especializado con el fin de aplicar los conocimientos adquiridos en el curso.

Contenido

1. Calidad de Servicio en Redes de Próxima Generación. Parámetros de calidad de servicio, mecanismos de “scheduling” y “policing”, arquitectura de servicios diferenciados (DiffServ) y de servicios integrados (IntServ).

2. Gestión de Redes. Conceptos generales de gestión de redes y servicios, infraestructuras y marcos de referencia para gestión de red, gestión de red y aprovisionamiento de calidad de servicio en redes de próxima generación.

3. Automatización en la Gestión de Redes y Servicios. Introducción a las comunicaciones y computación autónomas, gestión basada en políticas, caso de uso de automatización de gestión de redes y servicios de próxima generación.

4. Redes Inalámbricas. Clasificación de redes inalámbricas según ámbito de cobertura, características de redes inalámbricas, redes inalámbricas de área local 802.1X, estándares y redes celulares, movilidad en redes celulares

5. Sistemas celulares. Fundamentos de comunicaciones celulares, arquitectura y funciones generales de sistemas celulares, gestión de recursos.

6. Mecanismos avanzados de gestión de recursos en UMTS. Conceptos fundamentales y arquitectura de red de UMTS, mecanismos de gestión de QoS y gestión de recursos.

Bibliografía

James F. Kurose, Amhersteith W. Ross, Computer Networking: A Top-Down Approach. Addison-Wesley, 5th Ed., 2010.

Ramjee Prasad, Albena Mihovska, New Horizons in Mobile and Wireless Communications, Volume 1: Radio Interfaces. Artech House, 2009.

Ramjee Prasad, Albena Mihovska, New Horizons in Mobile and Wireless Communications, Volume 2: Networks, Services and Applications. Artech House, 2009

Ramjee Prasad, Albena Mihovska, New Horizons in Mobile and Wireless Communications, Volume 3: Reconfigurability. Artech House, 2009.

Ramjee Prasad, Albena Mihovska, New Horizons in Mobile and Wireless Communications, Volume 4: Ad Hoc Networks and PANs. Artech House, 2009.

Alan B. Johnston, SIP: Understanding the Session Initiation Protocol. Artech House, 3rd Ed., 2009.

Byeong Gi Lee, Sunghyun Choi, Broadband Wireless Access & Local Networks: Mobile WiMAX and WiFi.

Artech House, 2008.

Page 34: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

34

Sofoklis Kyriazakos, George Karetsos, Practical Radio Resource Management in Wireless Systems. Artech

House, 2004.

Thomas W. Rondeau, Charles W. Bostian, Artificial Intelligence in Wireless Communications. Artech House,

2009.

Alfredo Mendoza, Utility Computing Strategies, Standards, and Technologies. Artech House, 2007.

OPNET IT Guru, OPNET Modeler, OPNET Modeler Wireless Suite, and Specialized modules for Flow

Analysis, MPLS, UMTS and WiMax and Documentation www.opnet.com.

Gordon L. Stüber, Principles of Mobile Communication, Kluwer Academic Publishers, 2001.

Maciej Nawrocki, Hamid Aghvami, Mischa Dohler, Understanding UMTS Radio Network Modelling,

Planning and Automated Optimisation: Theory and Practice. John Wiley & Sons, 2006.

Page 35: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

35

ITC-307: Tópicos Selectos de Sistemas Distribuidos

Objetivo

Que el estudiante conozca y experimente diversas técnicas y tecnologías de vanguardia utilizadas para la construcción de sistemas en entornos distribuidos y a gran escala, como son el cómputo en la nube, el procesamiento de grandes volúmenes de información y las tecnologías de la web semántica.

Descripción

El curso tendrá un contenido dinámico el cual se estará actualizando en función de los temas de vanguardia que surjan en el área de los sistemas distribuidos, en especial en aquellos temas orientados al procesamiento y análisis de grandes cantidades de datos.

Contenido

1. Cloud Computing a. Introducción al Cloud computing b. Tecnologías de virtualización c. Infraestructura para Cloud Computing d. Sistemas de almacenamiento e. Aplicaciones y paradigmas f. Sistemas para gestionar nubes

2. Servicios de almacenamiento y procesamiento masivo de información a. Introducción a los sistemas de almacenamiento b. El paradigma Map/Reduce c. Caso de estudio: Hadoop

i. HDFS d. Map/Reduce

i. HBase e. El ecosistema de Hadoop

3. Tecnologías de la Web Semántica a. Introducción a la Web Semántica b. XML, XPATH y XQuery c. RDF y SPARQL

Bibliografía

Dan C. Marinescu, Cloud Computing: Theory and Practice. Morgan Kaufmann, 2013.

Tom White, Hadoop: The Definitive Guide. Yahoo Press, 3rd Ed., 2012.

Nick Antonopoulos, Lee Gillam, Cloud Computing Principles, Systems and Applications. Springer, 2010.

Tom Fifield, OpenStack Operations Guide. Set up and manage your OpenStack cloud. O'Reilly Media, Inc., 2014.

Grigoris Antoniou, Frank van Harmelen, A Semantic Web Primer. The MIT Press, 2008

Bob DuCharme, Learning SPARQL, Querying and Updating with SPARQL 1.1. O'Reilly Media, 2nd Ed., 2013.

Andrew S. Tanenbaum, Maarten van Oteen, Distributed Systems: Principles and Paradigms. Prentice Hall, 2nd Ed., 2006.

Coulouris George, Dollimore Jean, Kindberg Tim, Blair Gordon, Distributed Systems: Concepts and Design. Addison Wesley, 5th Ed., 2011.

Abiteboul Serge, Buneman Peter, Suciu Dan, Data on the Web, From Relations to Semistructured Data and XML. Morgan Kaufmann, 2000.

Tamer Özsu, Patrick Valduriez, Principles of Distributed Database Systems. Springer, 3rd Ed., 2011.

Page 36: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

36

ITC-308: Tópicos Selectos de Minería de Datos

Objetivo

Que el estudiante conozca las técnicas y tecnologías avanzadas de Big Data, Inteligencia Web, Minería de Texto y Minería Web.

Descripción

El curso introduce al estudiante los aspectos teóricos y prácticos sobre técnicas para el aprovechamiento de los datos mediante aplicaciones emergentes reales. Dado que es un curso preliminar al desarrollo de la tesis, se alienta la participación activa del estudiante. Durante el desarrollo del curso se evaluarán tareas y un proyecto final sobre el aprendizaje y experiencia que el estudiante vaya adquiriendo.

Contenido

1. Conceptos básicos a. Búsqueda b. Organización de información c. Recuperación de Información d. Aprovechamiento del Big Data e. Aprendizaje en la Web f. Aplicaciones

2. Minería de Texto a. Representación de texto b. Indexación c. Preprocesamiento de texto d. Diccionarios y tesauros e. Búsqueda de texto f. Medidas de similitud g. Técnicas de procesamiento de texto h. Técnicas de evaluación i. Referencias y co-referencias

3. Minería Web a. Búsqueda web b. Organización mediante temas c. Análisis de enlaces d. Algoritmos de relevancia e. Búsqueda web f. Análisis de Redes Sociales g. Análisis de uso web h. Web Semántica i. Linked Data

Bibliografía

C. Manning, P. Raghavan, H. Schütze, Introduction to Information Retrieval. Cambridge University Press, 2008.

Ricardo Baeza-Yates, Berthier Ribeiro-Neto, Modern Information Retrieval. The Concepts and Technology behind Search. Addison-Wesley, 2nd Ed., 2010.

Bing Liu, Web Data Mining. Exploring Hyperlinks, Contents, and Usage Data. Springer, 2011.

Pang-Ning Tan, Michael Steinbach, Vipin Kumar, Introduction to Data Mining. Addison Wesley, 2005.

Jiawei Han, Micheline Kamber, Data Mining: Concepts and Techniques. Morgan Kaufmann, 2006.

I.H. Witten, E. Frank, Data Mining: Practical Machine Learning Tools and Techniques. Morgan Kaufmann, 1999.

Page 37: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

37

ITC-309: Cómputo Reconfigurable

Objetivo

Presentar los elementos básicos para crear arquitecturas digitales que implementen algoritmos de alta demanda computacional en dispositivos programables.

Descripción

El curso presenta los fundamentos y formalismo del Cómputo Reconfigurable así como metodologías y técnicas de como diseñar y aplicar arquitecturas bajo este enfoque en la solución de problemas que involucran una alta demanda computacional. Se presentan las herramientas y técnicas necesarias para el diseño, análisis y optimización de sistemas de cómputo reconfigurable basado en tecnología FPGA.

Contenido

1. Introducción a. Conceptos básicos b. Tecnologías de FPGAs c. Arquitecturas de FPGAs d. Bloques lógicos programables e. Configuración y granularidades

2. Principios de diseño de computadoras a. Modelo computacional b. Sistemas basados en microprocesadores c. Modelado del microprocesador MIPS d. Abstracción hardware/software e. Modelos de procesamiento paralelo

3. Cómputo reconfigurable a. Fundamentos b. Localidad funcional y temporal c. Cómputo espacial d. Sistemas de cómputo reconfigurable e. Clasificación de arquitecturas reconfigurables f. Reconfiguración estática y dinámica parcial

4. Implementación de aplicaciones computacionalmente intensivas a. Relación entre arquitectura de computadoras y diseño de algoritmos b. Naturaleza estructural de un algoritmo c. Dependencias de datos y control d. Representaciones topológicas abstractas e. Problemáticas

5. Métricas de comparación de plataformas computacionales a. Algunas métricas de desempeño b. Normalización de métricas c. Caracterización de recursos de implementación d. Densidad computacional

6. Casos de estudio a. Implicaciones de punto flotante en FPGAs b. Sistemas bio-inspirados c. Procesamiento de señales adaptivo d. Arquitecturas criptográficas

Bibliografía

Scott Hauck, Andre DeHon, Reconfigurable Computing: The Theory and Practice of FPGA-Based

Page 38: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

38

Computation. Morgan Kaufmann, 2007.

David D. Patterson, John L. Hannessy, Computer organization and design. Morgan Kaufmann, 2012.

Christophe Bobda, Introduction to Reconfigurable Computing: Architectures, Algorithms, and Applications. Springer, 2009.

Patrick Lysaght, Wolfgang Rosenstiel, New Algorithms, Architectures and Applications for Reconfigurable Computing. Springer, 2010.

Pao-Ann Hsiung, Marco D. Santambrogio, Chun-Hsian Huang, Reconfigurable System Design and Verification. CRC Press, 2009.

Page 39: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

39

ITC-310: Tópicos Selectos en Ingeniería Computacional

Objetivo

Introducir las nuevas tendencias en ingeniería computacional. Por ejemplo, extender la teoría y metodologías del uso de técnicas de reconocimiento de patrones y redes neuronales artificiales. Introducir las nuevas tendencias en algoritmos cerebro-inspirados y sus arquitecturas, así como técnicas de inteligencia computacional aplicadas al reconocimiento de patrones.

Descripción

En el curso de tópicos selectos en análisis de datos el alumno extenderá sus conocimientos teóricos y prácticos en el uso de técnicas de reconocimiento de patrones y redes neuronales artificiales. En relación a los tópicos de reconocimiento de patrones, el curso tendrá énfasis en clasificadores ensamblados y técnicas de agrupamiento. Asimismo, habrá una sección especializada en redes neuronales pulsantes, las cuales modelan con mayor realismo la actividad neuronal biológica. Finalmente, se introducirán las nuevas tendencias en algoritmos bio-inspirados aplicados al análisis de datos.

Contenido

1. Métodos ensamblados a. Algoritmos populares de clasificación b. Métodos de boosting c. Métodos de bagging d. Combinación de clasificadores e. Selección de clasificadores

2. Análisis de grupos a. Introducción al análisis de grupos b. Medidas de proximidad c. Agrupamientos jerárquico y particional d. Agrupamiento de datos a gran escala e. Validez de grupos

3. Redes neuronales pulsantes a. Principios biológicos b. Codificación pulsada c. Neuronas con memoria de corto plazo d. Neuronas de integración/disparo e. Plasticidad sináptica f. Redes neuronales pulsantes en hardware

4. Tendencias bio-inspiradas a. Técnicas populares de inteligencia computacional b. Metaheurísticas para el análisis de datos c. Metaheurísticas para el diseño de redes neuronales

Biliografía

Z. H. Zhou, Ensemble Methods: Foundations and Algorithms. Chapman & Hall/CRC, 2012.

R. Xu, D. C. Wunsch II, Clustering. John Wiley & Sons, 2009.

W. Gerstner, W. M. Kistler, Spiking Neuron Models. Cambridge University Press, 2002.

P. Engelbrecht, Computational Intelligence: An Introduction. Wiley, 2007.

Page 40: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

40

ITC-311: Tópicos Selectos en Robótica Móvil Inteligente

Objetivo

El objetivo de este curso es estudiar y comprender los algoritmos y herramientas matemáticas empleadas en los sistemas de robots móviles encontrados en el estado del arte. La mayor parte de estas técnicas están basadas en un razonamiento de probabilidades y optimización, áreas ampliamente aplicadas en Inteligencia Artificial, por lo que se pretende incrementar la comprensión y manejo en estas dos áreas, con el propósito de desarrollar sistemas de planeación y control de robots móviles en tiempo real.

Descripción

En el curso de Tópicos Selectos de Robótica Móvil Inteligente, se discutirán temas directamente relacionados con los temas de tesis a desarrollar por los alumnos. Algunas temáticas susceptibles de tratarse en este curso son la Robótica Probabilista, para el diseño y control de robots tomando en cuenta la incertidumbre propia de un medio ambiente real; así como los fundamentos de la obtención de Estructura a partir de Movimiento, con el propósito de obtener una reconstrucción del medio ambiente a partir de imágenes obtenidas por la cámara embarcada en el robot y abordar la problemática de Navegación Visual de Robots Móviles.

Contenido

1. Introducción Robótica Probabilista 2. Modelos probabilistas de sensores y actuadores 3. Filtro de Bayes 4. Filtro de partículas, Filtro Extendido de Kalman 5. Problema de Autolocalización y Mapeo en robots móviles 6. Procesos de decisión de Markov 7. Aprendizaje reforzado 8. Introducción Visión por Computadora para Robots Móviles 9. Modelo de cámara oscura y geometría proyectiva 10. Filtrado y detección de puntos de interés en imágenes 11. Geometría epipolar y correspondencia estéreo 12. Matriz fundamental y algoritmo de RANSAC 13. Descripción y emparejamiento de puntos de interés 14. Construcción de mosaicos de imágenes 15. Estructura a partir de Movimiento 16. Reconstrucción a partir de múltiples imágenes

Bibliografía

Sebastian Thrun, Wolfram Burgard, Dieter Fox, Probabilistic Robotics (Intelligent Robotics and Autonomous Agents series). MIT Press, 2005.

Richard Szeliski, Computer Vision (Algorithms and Applications). Springer, 2011.

Page 41: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

41

ITC-312: Análisis de Imágenes Digitales

Objetivo

Introducir los conceptos teóricos asociados con el análisis de imágenes digitales. Aplicar los conceptos teóricos aprendidos a problemas del mundo real mediante el desarrollo de algoritmos para el análisis de imágenes digitales.

Descripción

En el curso de análisis de imágenes digitales el alumno aprenderá los conceptos teóricos básicos sobre diversas técnicas de tratamiento de imágenes digitales y el reconocimiento de objetos. El curso está dividido en nueve unidades, cuyas temáticas están organizada de la siguiente manera: unidades 1 y 2 tratan sobre los fundamentos básicos del tratamiento de imágenes digitales; unidades 3 a 5 tratan sobre el procesamiento de bajo nivel (mejoramiento y filtrado); unidades 6 y 7 tratan sobre el procesamiento de medio nivel (segmentación y detección de objetos); y unidades 8 y 9 tratan sobre el procesamiento de alto nivel (reconocimiento e interpretación de la imagen). El curso fomenta la implementación de varios algoritmos vistos en clase para conectar la teoría con la práctica en problemas reales.

Contenido

1. Fundamentos del análisis de imágenes digitales a. El proceso de análisis de imágenes b. Concepto de imagen c. Adquisición de imágenes d. Muestreo y cuantificación e. Formato de imágenes f. Relaciones básicas entre píxeles

2. Transformaciones geométricas de la imagen a. Interpolación de imágenes b. Transformadas básicas de la imagen c. Transformada de Fourier d. Convolución e. Otras transformadas separables

3. Mejoramiento de la imagen a. Fundamentos b. Transformaciones de intensidad simples c. Procesamiento del histograma d. Mejoramiento estadístico e. Mejoramiento con secuencia de imágenes f. Mejoramiento con técnicas difusas

4. Filtrado de imágenes a. Tipos de ruido en imágenes b. Filtrado espacial

i. Filtros suavizantes ii. Filtros realzantes

c. Filtrado en el dominio de la frecuencia i. Filtros suavizantes ii. Filtros realzantes iii. Filtro homomórfico

5. Operadores morfológicos a. Fundamentos b. Erosión y dilatación c. Apertura y cerradura

Page 42: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

42

d. Gradientes morfológicos e. Operadores por reconstrucción f. Algoritmos para imágenes binarias

6. Segmentación de imágenes a. Fundamentos b. Umbralado global y local c. Segmentación orientada a regiones d. Segmentación basada en técnicas de inteligencia computacional e. Segmentación de objetos en movimiento f. Evaluación de métodos de segmentación

7. Correspondencia de patrones a. Template matching en el dominio espacial b. Template matching en el dominio de la frecuencia c. Transformada de Hough d. Detección de color

8. Extracción de rasgos a. Preprocesamiento de regiones b. Descriptores basados en la morfología del objeto c. Descriptores basados en la textura de un objeto

9. Reconocimiento de objetos a. Patrones y clases de patrones b. Selección de características y reducción de dimensionalidad c. Clasificadores lineales d. Clasificadores no lineales e. Técnicas de optimización

Bibliografía

Rafael C. Gonzalez, Richard E. Woods, Digital Image Processing. Prentice Hall, 3rd Ed., 2008.

Rafael C. González, Richard E. Woods, Steven L. Eddins, Digital Image Processing Using MATLAB. Gatesmark Publishing, 2nd Ed., 2009.

Pierre Soille, Morphological Image Analysis. Principles and Applications. Springer-Verlag, 2nd Ed., 2004.

Gerhard X. Ritter, Joseph N. Wilson, Handbook of Computer Vision Algorithms in Image Algebra. CRC Press, 2nd Ed., 2001.

Mark S. Nixon, Alberto S. Aguado, Feature Extraction and Image Processing. Newnes, 2002.

Milan Sonka, Vaclav Hlavac, Roger Boyle, Image Processing, Analysis, and Machine Vision. Thomson, 3rd Ed., 2008.

Page 43: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

43

ITC-313: Seguridad Informática

Objetivo

Revisar los temas más importantes relacionados con la seguridad informática que afectan a los sistemas de información.

Descripción

El curso está organizado en cuatro partes fundamentales. La primera está dedicada a la introducción a los tópicos de seguridad informática. En la segunda se revisan los fundamentos criptográficos para proveer servicios de seguridad y algunas aplicaciones. La tercera parte cubre aspectos de seguridad perimetral en redes de computadoras. La parte final del curso comprende temas relacionados con la seguridad en los sistemas de cómputo y seguridad de software.

Contenido

1. Introducción al curso a. Introducción a la seguridad informática, y al curso b. Conceptos generales de la seguridad informática c. Vulnerabilidades, riesgos, amenazas, y ataques d. Políticas de seguridad y estándares

2. Criptografía Aplicada a. Introducción a la criptografía b. Bases de la criptografía de llave privada c. Funciones picadillo d. Bases de la criptografía de llave pública e. Autenticación de mensajes f. Infraestructura de llave pública g. Firma electrónica en México h. Temas selectos de criptografía aplicada

3. Seguridad perimetral en redes a. Cortafuegos b. Detectores y prevensores de intrusos c. Protocolo IPSec d. VPNs (aspectos teóricos y prácticos) e. Protocolos de seguridad WEP, WAP, TLS f. Presentación tópico especial sobre seguridad en sistemas ubicuos (con ECC, PBC, e IBE)

4. Seguridad en software y políticas a. Control de acceso (Listas, roles, etc.) b. Almacenamiento seguro de contraseñas y seguridad en base de datos c. Seguridad en aplicaciones web d. Malware y virus modernos e. Vulnerabilidades de software f. Diseño de software seguro g. Denegación de servicio (ataques y contramedidas) h. Hacking, Ingeniería social y cibercrimen i. Mesa de discusión sobre Leyes en materia de crimen cibernético y su alcance

Bibliografía

Christof Paar, Jan Pelzl, Understanding Cryptography: A text for students and practitioners. Springer, 2010.

Jeffrey Hoffstein, Jill Pipher, Joseph H. Silvermann, An introduction to Mathematical Cryptography. Springer, 2008.

Page 44: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

44

L. G. De la Fraga, Seguridad en Redes de Computadoras Usando GNU/Linux. Notas del curso impartido el 9 de septiembre 2004 en el 1st International Conference on Electrical and Electronics Engineering. Acapulco, Guerrero. September 8-10, 2004.

William Stallings, Cryptography and Network Security: Principles and Practice. Prentice Hall, 5th Ed., 2011.

Alexander Clemm, Network Management Fundamentals. Cisco Press, 2006.

Stephen Northcutt, Judy Novak, Network Intrusion Detection. Sams Publisher, 3rd Ed., 2002.

Page 45: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

45

ITC-301: Seminario de Investigación I

Objetivo general

Revisar la metodología de la investigación científica y presentar las preguntas de investigación, los objetivos generales y específicos, las hipótesis relacionadas y el planteamiento del problema.

Objetivos específicos

Desarrollar las habilidades básicas de investigación para la búsqueda de información, así como la comprensión y escritura de textos científicos.

Presentar y defender el planteamiento el problema de investigación, las hipótesis de investigación, objetivos, metas y alcances de la tesis.

Plantear la metodología establecida para el desarrollo de la tesis.

Contenido

1. Introducción a la investigación científica. 2. El proceso para el desarrollo de una tesis. 3. Métodos, técnicas y herramientas de búsqueda de información. 4. Aspectos formales y de notaciones. 5. Ajuste de la metodología de desarrollo. 6. Ajuste temporal de la tesis.

Requerimientos necesarios para aprobar el curso

Validar las preguntas de investigación, los objetivos generales y específicos, las hipótesis relacionadas y el planteamiento del problema.

Una presentación sobre el protocolo de tesis y los avances realizados hasta la fecha en presencia de investigadores invitados.

Reporte técnico con los avances realizados hasta a fecha avalado por el Director de Tesis.

Requerimientos opcionales

Examen exploratorio de inglés.

Implementaciones y/o desarrollos útiles para el tema de tesis.

Page 46: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

46

ITC-401: Seminario de Investigación II

Objetivo general

Presentación del marco teórico, la estructura general de la tesis, y las métricas para medir y/o evaluar el trabajo que se desarrolla.

Objetivos específicos

Seleccionar los materiales y métodos que ayudarán en el desarrollo de la tesis.

Afinar o inclusive modificar aspectos de la metodología planteada.

Implementar y/o integrar las herramientas básicas para el desarrollo y los experimentos de la tesis.

Conocer sobre técnicas y herramientas para el análisis y visualización de datos.

Desarrollar un póster científico.

Contenido

1. Visualización a. Introducción a la visualización de datos. b. Software para visualización y análisis de datos. c. Gráficos convencionales: barras, histogramas, líneas, cajas, dispersión, pie, etc. d. Distribuciones y pruebas de hipótesis. e. Gráficos avanzados: superfices, modelos 3D, gráficos especializados. f. Modelado y regresión de datos. g. Visualización de datos de alta dimensionalidad. h. Animaciones y simulaciones.

2. Desarrollo de un documento con el marco teórico, la estructura general de la tesis, y las

métricas para medir y/o evaluar el trabajo desarrollado. 3. Redacción y buenas prácticas de escritura de artículos científicos. 4. Buenas prácticas para realizar pósters científicos. 5. Ajuste de la metodología de desarrollo. 6. Ajuste temporal de la tesis.

Requerimientos necesarios para aprobar el curso

Un póster científico.

Una presentación sobre los avances realizados a la fecha, haciendo especial énfasis en el marco teórico.

Un reporte técnico con los avances realizados a la fecha, haciendo especial énfasis en el marco teórico.

Requerimientos opcionales

Curso de inglés.

Page 47: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

47

ITC-501: Seminario de Investigación III

Objetivo general

Presentar los resultados y realizar una discusión de resultados.

Objetivos específicos

Desarrollar la experimentación y validación de la metodología planteada en la tesis.

Recolectar y analizar los resultados obtenidos para que puedan ser presentados en su examen pre-doctoral

Comparar los resultados con otros enfoques e interpretar los hallazgos.

Redactar de un artículo científico.

Cursar la materia de inglés (opcional).

Contenido

1. Redacción y buenas prácticas de escritura de artículos científicos. 2. Buenas prácticas para realizar presentaciones en congresos. 3. Identificación de los principales congresos del área. 4. Sesiones para revisar avances en la escritura de un artículo. 5. Ajuste temporal de la tesis.

Requerimientos necesarios para aprobar el curso

Un artículo científico.

Una presentación sobre los resultados obtenidos haciéndo especial énfasis en la discusión de resultados.

Un reporte técnico sobre los resultados obtenidos haciéndo especial énfasis en la discusión de resultados.

Requerimientos opcionales

Curso de inglés.

Page 48: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

48

ITC-601: Seminario de Investigación IV

Objetivo general

Integrar el documento de tesis y preparar un artículo de revista con las principales contribuciones alcanzadas.

Objetivos específicos

Realizar las discusiones, conclusiones y tendencias futuras del trabajo de tesis.

Integrar el documento de tesis a partir de las entregas en los seminarios anteriores.

Realizar presentaciones de difusión sobre los trabajos de tesis, como posters, sesiones orales, demos, etc., como parte del TopTamaulipas.

Contenido

1. Revisión de contribuciones. 2. Consejos y buenas prácticas para la escritura de artículos científicos 3. Identificación de las principales revistas del área. 4. Plantillas y formatos para revistas. 5. Sesiones para revisar avances en la integración del documento de tesis. 6. Ajuste temporal de la tesis.

Requerimientos necesarios para aprobar el curso

Enviar el artículo a un congreso o revista.

Entregar el documento de tesis que tentativamente será enviado al comité revisor.

Entregar un artículo con los resultados de la tesis.

Entregar un reporte técnico con los resultados de la tesis.

Requerimientos opcionales

Curso de inglés.

Page 49: MAPA CURRICULAR - tamps.cinvestav.mx · Mapa curricular de los cursos del Doctorado en Ciencias en Ingeniería y Tecnologías Computacionales. ... toda la extensión de la palabra,

49