Cursos del Núcleo

 


 


 

Contenido condensado de los cursos

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 él 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 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 como son: matrices y transformada rápida de Fourier, con aplicaciones a computación en paralelo.

 

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.

 

Programación Avanzada. En este curso se revisan distintos paradigmas de programación: estructurado, funcional, y orientado a objetos entre otros. Se discuten estrategias para optimizar la implementación de algoritmos, dependiendo del paradigma que se trabaje. Una parte de curso hace revisión de manejo de apuntadores (a datos, estructuras y a funciones) y los equivalentes en otros paradigmas de programación (selectores y tablas de funciones). En la parte de Programación Orientada a Objetos se discuten algunos de los patrones de diseño más utilizados, como pueden ser Observer, MVC o Decorator, por mencionar algunos.

 

Teoría de la Computación. En este curso se discuten la naturaleza matemática de la computación y sus limitaciones teóricas. Se dan los principios de la teoría de autómatas finitos, deterministas y no deterministas, así como la clasificación de las gramáticas de Chomsky. Se discuten las Máquinas de Turing y se presenta el problema de decibilidad. Finamente se presentan los fundamentos para las complejidades temporales y espaciales.