Programas de posgrados

Programa de estudios

El programa de estudios está dividido en dos fases cada una de un año escolar. Durante el primer año se toman un total de 12 cursos, 4 por cuatrimestre. Durante el segundo año se desarrolla un trabajo de tesis, inscribiéndose para ello en "Temas de tesis" y "Seminarios de Investigación".

Primer año: cursos

Los cursos a acreditar durante el primer año son seleccionados por cada estudiante y su asesor de estudios (un profesor del Laboratorio de Tecnologías de Información asignado al estudiante al ingresar). La selección de los cursos busca para el estudiante una formación con los conocimientos esenciales de la Computación, con la mayor amplitud posible en las diferentes áreas de la Computación, y con la mayor profundidad posible en las áreas relacionadas con el tema de tesis del estudiante y sus intereses de desarrollo profesional.

Los cursos de la Maestría en Computación están agrupados bajo un núcleo y cinco áreas de especialidad. Los cursos del núcleo se ofrecen todos por lo menos una vez al año, no necesariamente en el mismo cuatrimestre. Los cursos en las áreas de especialidad se ofrecen tomando en cuenta la demanda y la planta de profesores. Los cursos de cada área de especialidad se dividen en formativos y de especialización. Los formativos proporcionan amplitud de conocimientos, y los de especialización proporcionan profundidad en alguna línea de investigación.

Núcleo. El núcleo comprende los conocimientos básicos que cualquier egresado del programa de Maestría en Computación debe saber. Los cursos del núcleo son 6:

  • Matemáticas Discretas: El objetivo es ofrecer al estudiante un panorama general de las Matemáticas que son particularmente útiles a las Ciencias de la Computación. Se inicia presentando las ideas básicas del principio de conteo y el razonamiento combinatorio elemental. A continuación se ofrece una introducción general a la lógica matemática, un estudio riguroso de la teoría de conjuntos, el principio de la inducción matemática y los métodos recursivos. Posteriormente se estudian las relaciones y funciones y se termina con lenguajes y máquinas de estados finitos. El curso no supone conocimientos matemáticos profundos previos y se enfoca principalmente a desarrollar la capacidad del estudiante para resolver problemas.
  • Análisis y Diseño de Algoritmos:  El diseño eficiente de algoritmos es fundamental en el mundo de la Computación. Por tal razón, presentamos un curso cuyo objetivo es el análisis teórico, independiente de la programación, de algoritmos y el diseño eficiente de los mismos con un enfoque en aspectos importantes del problema. 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. En el curso se tratan problemas de combinatoria y algoritmos probabilísticos. También se analizan algoritmos de tipo numérico como son: matrices y transformada rápida de Fourier, con aplicaciones a computación en paralelo.
  • Programación Orientada a Objetos: Este curso aborda los principios y las técnicas de diseño y de implementación de programas basados en objetos. De manera macroscópica, un objeto es una entidad independiente que sigue el funcionamiento descrito por su clase. Este curso es precedido por un preámbulo sobre los conceptos fundamentales de programación estructurada, tales como el diseño sistemático de tratamiento de sequencias, de listas, de bucles... y la programación por recursividad. La parte principal de este curso aborda 1) los conceptos de clase y de instancia, 2) el polimorfismo, 3) la herencia de clases, 4) el ocultamiento y la encapsulación de datos y de métodos y 5) la sobrecarga de métodos y de operadores. La presentación es complementada con ejercicios en C++ y en Java.
  • Ingeniería de Software: Debido a la complejidad de los sistemas de software, actualmente requerimos de metodologías para el desarrollo de los mismos. El curso de Ingeniería de Software tiene por objetivo explicar los principios que se usan en el ciclo de vida y los métodos para un desarrollo eficiente y de calidad. Se tratan los métodos clásicos (funcionales y estructurados) del análisis y diseño de sistemas, considerando las metodologías para el diseño de bases de datos y modelos de información. Se llevan a cabo aplicaciones con herramientas CASE.
  • Sistemas Operativos: Este curso aborda el diseño y la implementación de un sistema operativo: el sofware maestro que administra y controla los recursos tantos físicos como lógicos de una computadora. En particular, en este curso se estudia 1) las características de los dispositivos físicos, tales como: el procesador, la memoria principal, los dispositivos secundarios (terminales, discos, red, etc.) y 2) el diseño, los problemas y las técnicas de implementación de los componentes de software principales tales como: el núcleo de multiprogramación del procesador (procesos), el sistema de archivos, el módulo de sincronización y de comunicación entre procesos, el módulo de administración de memoria virtual, las técnicas de reservación/liberación dinámica de memoria, el sistema de entrada/salida de datos, la reservación/liberación de recursos.
  • Arquitectura de Computadoras:  Se discuten los fundamentos de la organización general de computadoras. Entre los tópicos revisados se encuentran los siguientes: conjunto de instrucciones, modos de direccionamiento, codificación de instrucciones, pipelining (dependencias de datos, dependencias de control predicción de saltos), jerarquía de memoria y subsistemas de entrada/salida.

Cada estudiante de la Maestría en Computación debe acreditar por lo menos 4 de los 6 cursos del núcleo. La selección de los 4 cursos depende de la formación académica y experiencia de cada estudiante, y es necesaria debido a la diversidad del perfil de los aspirantes. Así, por ejemplo, algunos cursos del núcleo de un aspirante que estudió una Licenciatura en Informática serán diferentes de los cursos del núcleo de un aspirante que estudió una Licenciatura en Física y Matemáticas, una Ingeniería en Computación o una Ingeniería en Comunicaciones y Electrónica.

Cursos Formativos y de Especialización. Los cursos restantes se toman de las siguientes áreas de especialización. Los cursos formativos y de especialización se presentan en la Tabla I por línea de investigación.

  • Fundamentos Teóricos de la Computación e Inteligencia Artificial. Esta área comprende los fundamentos teóricos de la metodología de la computación y los modelos de razonamiento usados para el desarrollo de sistemas inteligentes artificiales.
  • Bases de Datos y Sistemas de Información. Esta área comprende el desarrollo e integración de sistemas de software basado en la descomposición funcional y el desarrollo de herramientas de software.
  •  Programación de Sistemas, Sistemas Distribuidos y Cómputo Móvil. Comprende el diseño y desarrollo de software para administrar los recursos de sistemas de cómputo y desarrollar software de aplicación para servidores, equipos personales y dispositivos móviles. Es de destacar en esta área la importancia cada vez mayor de los mecanismos de seguridad informáticos a nivel de computadoras y redes de computadoras, los cuales requieren tomar como base estrategias generales para integrar soluciones ad hoc para un problema específico.
  • Robótica, Sistemas Embebidos y Cómputo Reconfigurable. Comprende la integración de herramientas computacionales diversas para resolver problemas de automatización, robótica. Una área dominante en esta disciplina es la de sistemas empotrados, esto es, el desarrollo de dispositivos que tienen componentes de software empotrados en hardware. Por ejemplo, dispositivos tales como teléfonos celulares, agendas personales digitales, reproductoras de audio digital, grabadoras de video digital, sistemas de alarma, máquinas de rayos X, herramientas médicas láser. Todas ellas requieren integración de hardware y software empotrado.  También considera el estudio, análisis y diseño de prototipos en hardware reconfigurable de algoritmos criptográficos, algoritmos para compresión/descompresión de información y algoritmos aplicados a visión por computadora. Como parte de esta línea de investigación se encuentra el cómputo reconfigurable, el cual se refiere al uso de dispositivos de hardware reconfigurable que permiten construir soluciones hardware/software a problemas computacionales altamente demandantes.

Tabla I. Mapa curricular de los cursos formativos y de especialización por línea de investigación.

Nota: Cada estudiante deberá elegir 8 cursos de acuerdo a su área de especialización, no necesariamente los 8 cursos deben ser de la misma línea de investigación. No todos los cursos se ofrecen en el mismo año escolar; los cursos se abren dependiendo de la disponibilidad de los profesores y de la demanda de los estudiantes.

Segundo año: tesis y seminarios

Durante su segundo año, el estudiante seleccionará un tema de tesis propuesto por un profesor del Laboratorio de Tecnologías de Información quien fungirá como asesor de tesis. El tema se somete a evaluación por un Consejo de Profesores para su aprobación.

Durante el segundo año el alumno estará dedicado a seminarios de investigación y desarrollo en laboratorios, los cuales corresponden a 12 "Trabajos de tesis" que se acreditan con la misma escala de calificación con que se acreditan los cursos del primer año (esta escala es descrita más adelante). El alumno podrá hacer estancias industriales o en otro instituto de investigación.

También durante el segundo año, el alumno atenderá 3 Seminarios de Investigación, uno por cuatrimestre, para presentar los avances de su proyecto de tesis a la comunidad para su evaluación y crítica.

CONTACTO

Sitio Web:
tamps.cinvestav.mx

Correo electrónico:
vinculacion@tamps.cinvestav.mx

Ubicación:
Unidad Tamaulipas
Parque Científico y Tecnológico TECNOTAM
Km. 5.5 carretera Cd. Victoria-Soto La Marina
C.P. 87130 Cd. Victoria, Tamps.
Teléfono: "834" 107 02 20
Fax: "834" 107-02-24, 834" 314-73-92 y "834" 314-73-92

Última actualización 26/01/2024