Una parte importante de la informática es la capacidad de seleccionar los algoritmos apropiados para determinados propósitos y aplicarlos, reconociendo la posibilidad de que no se encuentre un algoritmo adecuado. Este facilidad se basa en la comprensión de la variedad de algoritmos que abordan un importante conjunto de problemas bien determinadas, reconociendo sus fortalezas y debilidades, y su idoneidad en determinados contextos. La eficiencia es un tema omnipresente en toda esta área. Esta área de conocimiento se definen los conceptos centrales y los conocimientos necesarios para diseñar, implementar y analizar los algoritmos para resolver problemas. Los algoritmos son esenciales en todas las áreas avanzadas de la informática: inteligencia artificial, bases de datos, computación distribuida, gráficos, redes, sistemas operativos, lenguajes de programación, de seguridad, y así sucesivamente. Algoritmos que tienen utilidad específica en cada uno de éstos se enumeran en las áreas de conocimiento relevantes. Criptografía, por ejemplo, aparece en la nueva área de conocimiento en Aseguramiento y Seguridad de la Información (IAS) , mientras que los algoritmos paralelos y distribuidos aparecen el Área de Conocimiento de Computación paralela y distribuída (PD) .
Al igual que con todas las áreas de conocimiento, el orden de los temas y sus agrupaciones no necesariamente se correlaciona con un orden específico de presentación. Diferentes programas enseñarán los temas en diferentes cursos y deben hacerlo en el orden que ellos creen es el más apropiado para sus estudiantes.
KA | Core Tier1 | Core Tier2 | Electivo |
---|---|---|---|
3.1.1 Análisis Básico | 2 | 2 | No |
3.1.2 Estrategias Algorítmicas | 5 | 1 | No |
3.1.3 Algoritmos y Estructuras de Datos fundamentales | 9 | 3 | No |
3.1.4 Computabilidad y complejidad básica de autómatas | 3 | 3 | No |
3.1.5 Complejidad Computacional Avanzada | No | ||
3.1.6 Teoría y Computabilidad Avanzada de Autómatas | No | ||
3.1.7 Estructuras de Datos Avanzadas y Análisis de Algoritmos | No |