4.3 AL. Algoritmos y Complejidad (31 horas como mínimo)

AL/Análisis Básico de Algoritmos. (4 horas)
AL/Estrategias Algorítmicas. (6 horas)
AL/Algoritmos Fundamentales. (12 horas)
AL/Algoritmos Distribuidos. (3 horas)
AL/Computabilidad Básica. (6 horas)
AL/Clases de Complejidad P y NP.
AL/Teoría de Autómatas.
AL/Análisis Avanzado de Algoritmos.
AL/Algoritmos Criptográficos.
AL/Algoritmos Geométricos.
AL/Algoritmos Paralelos.

Los algoritmos son fundamentales para la ciencia de la computación y la ingeniería de software. El desempeño que muestra un sistema de software en el mundo real depende de solo dos cosas: (1) los algoritmos elegidos y (2) la idoneidad y la eficiencia de las distintas capas de la implementación. Por lo tanto, un buen diseño de algoritmos es crucial para el desempeño de todos los sistemas de software. Más aun, el estudio de algoritmos permite comprender la naturaleza intrínseca del problema, así como las posibles técnicas de solución independientemente del lenguaje de programación, paradigma de programación, hardware o algún otro aspecto de la implementación.

Una parte importante de la computación es la habilidad de seleccionar algoritmos apropiados para propósitos particulares y aplicarlos en ellos, reconociendo la posibilidad de que no existan algoritmos idóneos. Esta facilidad recae en entender el rango de algoritmos que atacan un conjunto importante de problemas bien definidos, reconociendo sus fortalezas y debilidades y su idoneidad en un contexto en particular. La eficiencia es un tema que se ve todo momento en esta área.

Con el surgimiento de procesadores de varios núcleos, los temas de algoritmos en paralelo son más relevantes. Mientras que los temas de paralelismo siguen siendo listados como electivos, el comité cree que el rol del paralelismo en la currícula necesita ser considerada.



Subsections
Generado por Ernesto Cuadros-Vargas , Sociedad Peruana de Computación-Peru, Universidad Católica San Pablo, Arequipa-Peru
basado en el modelo de la Computing Curricula de IEEE-CS/ACM