
El objetivo general del curso es que el alumno sea capaz de elegir el mejor método para cada tipo de problema que vaya a resolver por medio de la computadora, utilizando para ello el análisis de la complejidad de algoritmos. Los conocimientos adquiridos serán independientes de un lenguaje en específico, por lo el alumno podrá decidir que lenguaje es el más conveniente. Podrá crear nuevos procedimientos o mejorar los actuales después de un análisis profundo en el que utilizará las técnicas adquiridas para optimizar los mismos.
- Teacher: Antonio de Jesus Garcia Dominguez

El objetivo general del curso es proporcionar las bases matemáticas de la computación, así como obtener las bases del cálculo proposicional. Aprender la teoría de grafos y árboles como importantes herramientas para la solución de problemas. También, proporcionar al alumno los conocimientos para poder implementar de forma adecuada problemas reales y así resolverlos con ayuda de la computadora.
- Teacher: Antonio de Jesus Garcia Dominguez

En este curso se busca preparar a los participantes para la resolución exitosa de problemas en concursos de programación a nivel nacional e internacional y en entrevistas técnicas de trabajo de las grandes empresas de tecnología, de tal manera que se conviertan en líderes en la región. Se cubrirán las diversas técnicas necesarias para atacar y resolver tales problemas computacionalmente desafiantes.
- Teacher: Roberto Solis Robles

Al finalizar este curso el alumno será capaz de:
a) Identificar y comprender los conceptos de análisis y diseño de sistemas de software.
b) Identificar y comprender los conceptos del paradigma orientado a objetos.
c) Identificar el lenguaje de diseño UML así como comprender la sintaxis y semántica de algunos de sus diagramas.
d) Identificar, comprender e implementar algunos patrones de diseño relevantes para el diseño de sistemas orientados a objetos.
e) Aplicar los conceptos, patrones, lenguajes y modelos discutidos en el curso.
- Teacher: Perla Velasco-Elizondo