Fundamentos de Programación Competitiva - CC217 - 202301 - Diaz Suarez, Jorge Eduardo (2023)
La Programación competitiva permite ampliar los conocimientos en los estudiantes acerca de la resolución de problemas en diferentes contextos complejos utilizando diferentes técnicas y métodos que aborda en la competición con otras personas. Este curso contiene el desarrollo de problemas algorítmicos de manera rápida. El lenguaje de programación que se usa en este curso es C/C++. El estudiante conocerá características de C/C++, tipos de datos, estructura de datos estáticas (arreglo, matrices) y estructuras dinámicas (pilas y colas), donde realizará el análisis de complejidad algorítmica, con diferentes ejercicios de algoritmos recursivos. Es importante que adquiera conocimientos sobre algoritmos de búsqueda y de ordenamiento como Merge Sort, Quick Sortm QuickSelect, HeapSort, y otros algoritmos eficientes. Estos conceptos permitirán trabajar con árboles binarios y ternarios, y de igual manera el estudiante comprenderá conceptos sobre grafos y caminos mínimos como los algoritmos de Dijkstra, Algoritmo de Floyd-Warshall. El curso busca desarrollar la competencia general de Razonamiento Cuantitativo de nivel 2, la competencia específica de ABET 2 Diseño de solución de nivel 2 para la carrera de Ciencias de la Computación.