Referencias Bibliográficas: [,Pai and Abraham, 2018]
Temas
- Algoritmos numéricos simples, tales como el cálculo de la media de una lista de números, encontrar el mínimo y máximo. 
 
- Algoritmos de búsqueda secuencial y binaria. 
 
- Algoritmos de ordenamiento de peor caso cuadrático (selección, inserción) 
 
- Algoritmos de ordenamiento con peor caso o caso promedio en O(N lg N) (Quicksort, Heapsort, Mergesort) 
 
- Tablas Hash, incluyendo estratégias para evitar y resolver colisiones. 
 
- Árboles de búsqueda binaria:
- Operaciones comunes en árboles de búsqueda binaria como seleccionar el mínimo, máximo, insertar, eliminar, recorrido en árboles. 
 
 
 
- Grafos y algoritmos en grafos:
- Representación de grafos (ej., lista de adyacencia, matriz de adyacencia) 
 
- Recorrido en profundidad y amplitud
 
 
 
- Montículos (Heaps) 
 
- Grafos y algoritmos en grafos:
- Problema de corte máximo y mínimo
 
- Busqueda local
 
 
 
- Búsqueda de patrones y algoritmos de cadenas/texto (ej. búsqueda de subcadena, búsqueda de expresiones regulares, algoritmos de subsecuencia común más larga) 
 
Objetivos de Aprendizaje
- Implementar algoritmos numéricos básicos  [Usage]
 
- Implementar algoritmos de busqueda simple y explicar las diferencias en sus tiempos de complejidad  [Usage]
 
- Ser capaz de implementar algoritmos de ordenamiento comunes cuádraticos y O(N log N)  [Usage]
 
- Describir la implementación de tablas hash, incluyendo resolución y el evitamiento de colisiones  [Usage]
 
- Discutir el tiempo de ejecución y eficiencia de memoria de los principales algoritmos de ordenamiento, busqueda y hashing  [Usage]
 
- Discutir factores otros que no sean eficiencia computacional que influyan en la elección de algoritmos, tales como tiempo de programación, mantenibilidad, y el uso de patrones específicos de la aplicación en los datos de entrada  [Usage]
 
- Explicar como el balanceamiento del arbol afecta la eficiencia de varias operaciones de un arbol de búsqueda binaria  [Usage]
 
- Resolver problemas usando algoritmos básicos de grafos, incluyendo busqueda por profundidad y busqueda por amplitud  [Usage]
 
- Demostrar habilidad para evaluar algoritmos, para seleccionar de un rango de posibles opciones, para proveer una  justificación por esa selección,y para implementar el algoritmo en un contexto en específico  [Usage]
 
- Describir la propiedad del heap y el uso de heaps como una implementación de colas de prioridad  [Usage]
 
- Resolver problemas usando algoritmos de grafos, incluyendo camino más corto de una sola fuente y camino más corto de todos los pares, y como mínimo un algoritmo de arbol de expansion minima  [Usage]
 
- Trazar y/o implementar un algoritmo de comparación de string  [Usage]
 
Generado por Ernesto Cuadros-Vargas ,               Sociedad Peruana de Computación-Peru,               basado en el modelo de la Computing Curricula de               IEEE-CS/ACM