El Mundial Universitario de Programación, el concurso de jóvenes más prestigioso del mundo en el campo de las tecnologías de la información, tuvo lugar este 2021 por primera vez en Moscú, Rusia.

Anualmente, esta competencia recibe un aproximado de 60.000 estudiantes de más de 3000 universidades del mundo, entre ellos, a los mejores ingenieros de software, informáticos y desarrolladores digitales.

El evento, que es conocido en inglés como International Collegiate Programming Contest, ICPC, recibió en esta edición a los estudiantes de la Universidad Icesi Nelson Quiñónez y Javier Torres; junto al egresado Iván Chacón y al coach del equipo, Juan Manuel Reyes, quienes tuvieron su primera experiencia en una competencia orbital y lograron representar al país con su equipo, llamado Almo5There.

La World Final ICPC Moscow 2021 se llevó a cabo durante seis días, iniciando el pasado 1 de octubre. Esta final consiste en una competencia de programación algorítmica que se realiza cada año entre diferentes universidades de todo el mundo y convoca en competencia a 171 equipos de Europa, África, Medio Oriente, Asia, América del Norte, América del Sur y el norte de Eurasia.

En representación de Latinoamérica hubo un total de 25 equipos participantes, dentro de los cuales los icesistas lograron ubicarse en la posición número 10 y obtuvieron el puesto 84 a nivel orbital, siendo el ganador de la Copa del Mundo el equipo representante de la institución rusa Nizhny Novgorod State University.

A este certamen, de acuerdo con un comunicado que expidieron los organizadores del evento, asisten equipos conformados por tres personas que representan a diferentes universidades. La idea es que cada uno de los grupos logre trabajar en conjunto para resolver problemas algorítmicos, fomentando la colaboración, la creatividad, la innovación y la capacidad de desempeñarse bajo presión. “Este es el concurso de programación más antiguo, más grande y prestigioso del mundo. Participan normalmente estudiantes de importantes escuelas de ingeniería como Harvard, Stanford, MIT, Cambridge, entre otros”, reza el comunicado.

Esta versión del ICPC se llevó a cabo teniendo en cuenta los protocolos de bioseguridad. Cada participante debía presentar prueba negativa de Covid-19.

Preparación para el Mundial

Nelson Quiñónez, estudiante en simultaneidad de los programas de Ingeniería de Sistemas e Ingeniería Telemática de la Icesi, explicó cómo fueron los primeros acercamientos a la programación que les permitieron llegar al Mundial. “Estamos trabajando en esto desde los primeros semestres. Estando en el Club de Programación de la universidad siempre pensamos que podríamos llegar al Mundial, con mucho entrenamiento y esfuerzo. Además, teníamos ganas de permanecer y un maestro que creía en nosotros”.

También comentó que en la universidad les dan la posibilidad de tener espacios de práctica extracurriculares entre semana y los fines de semana; además de campamentos universitarios durante las vacaciones, en donde se llevan a cabo espacios de entrenamiento con estudiantes de otras universidades y donde participan tutores experimentados que han tenido reconocimientos importantes. “Nuestro último entrenador era un argentino, quien había participado en el Mundial y quedó con su equipo como el mejor de Latinoamérica. Así han sido muchos los entrenadores que hemos tenido”.

Para lograr un cupo en el ICPC, cuenta Juan Manuel Reyes, coach del equipo Almo5There y maestro de la Icesi, además de todo el proceso de preparación que han tenido desde los primeros semestres, el equipo tuvo que pasar por un proceso clasificatorio. “Ellos tuvieron que pasar primero por una clasificación dentro de la universidad entre varios equipos de la misma, con el fin de ganarse el derecho de representarla; esto les permitió participar en la Maratón Nacional, que da unos cupos a la Latinoamericana, y una vez en esta, lograr ganarse un espacio para el Mundial de Programación, que fue en el que competimos”.

Universidades, entrenadores y voluntarios del ICPC trabajan juntos para permitir que brillen las oportunidades de los competidores que participan en el Mundial ruso.

La clasificación del equipo al Mundial es para Norha Villegas, directora del programa de Ingeniería de Sistemas de la Icesi, “un gran logro que muestra la altísima calidad de la formación en nuestros programas de Ingeniería de Sistemas e Ingeniería Telemática”. Resaltó también los grandes avances del Club de Programación Competitiva en el que este equipo se formó para lograr clasificar y hacerse presente en el encuentro orbital.

Domiciano Rincón, coordinador del Club de Programación Competitiva y docente de la Facultad de Ingeniería de Icesi, agregó que “la clasificación de los icesistas a la mundial de ICPC refleja el trabajo disciplinado, la constancia y el talento del equipo”.

Reglas de juego

Estando en la competencia, según Reyes, el equipo tuvo que competir siguiendo unas indicaciones estipuladas. “Las competencias de la ICPC tienen una duración de cinco horas, durante las cuales cada equipo cuenta con solo un computador, lo que los lleva a tener que trabajar muy sincronizados para que cada uno pueda utilizar el recurso cuando ya encuentran cómo resolver un problema”.

Por su parte, Quiñónez explicó la dinámica de la competencia, la cual consistía, según él, en que las tres personas del equipo debían intentar resolver dichos problemas en un tiempo límite. “Nos daban entre 8 y 13 problemas para resolver durante cinco horas. Estos problemas se basaban en situaciones de la vida real; un ejemplo de esto, es que daban la descripción de una ciudad y se intentaba encontrar el camino más corto dentro de ella teniendo en cuenta unas restricciones. Todo esto se hace aplicando algoritmos y matemáticas puras”.

El coach de Almo5There explicó también que los equipos que lograban cumplir con los criterios de resolver la mayor cantidad de problemas algorítmicos bien especificados, en el menor tiempo posible, se iban ubicando en una tabla de posiciones durante la competencia y al final de la misma, lo que, posteriormente, daba cuenta de los resultados.

Además de la competencia, conocer Rusia y su arquitectura fue una experiencia muy chévere”. Nelson Quiñónez, estudiante de Ingeniería de la Universidad Icesi.

Por otro lado, Reyes habló sobre los lenguajes de programación de la competencia y de qué manera se lograban resolver. “En la ICPC, los principales lenguajes de programación utilizados son C++, Java y Python, y cada solución, que es realizada a través de un computador, es juzgada de forma automática al ser enviada a una plataforma en línea y supervisada por un conjunto de jueces de la organización”.

Además, comentó que después de cada competencia, los equipos que querían mejorar tenían la posibilidad de llevar a cabo un proceso llamado ‘upsolving’, el cual consistía en revisar los problemas que durante la competencia los equipos no pudieron resolver y poder entender cómo hubieran podido ser abordados y qué conocimientos teóricos y prácticos debían adquirir para lograr resolver, posteriormente, problemas que fueran similares. “Es importante aclarar que en cada competencia oficial los problemas son originales, es decir, son diferentes a cualquiera que se haya propuesto antes en otra competencia”, agregó el coach.

Reconocimientos y premios

Teniendo en cuenta que los equipos se clasifican según el número de problemas resueltos, de acuerdo con información de la página oficial del ICPC, en los casos en los que los grupos resuelven el mismo número de problemas, se clasifican según el tiempo total que cada uno de ellos empleó, de manera que los emplearon menos tiempo, ganan el primer lugar.

Para Nelson Quiñónez, lo vivido en Rusia, “fue una experiencia genial porque, además de que pudimos estar en otro país, conocimos a muchas personas de todo el mundo y tuvimos contacto con equipos y coaches de Latinoamérica que saben demasiado sobre el tema, lo cual hizo que nos sintiéramos muy felices. Por otro lado, cuando uno va a un Mundial puede irse sin resolver algún problema, y nosotros pudimos con tres, lo cual hizo que superáramos nuestras expectativas”.

Sobre el desempeño del equipo de Icesi y del resultaron que este obtuvo, el coach Juan Manuel Reyes comentó que se sintieron bastante bien durante la competencia. “Somos conscientes de que aún no estamos al nivel de equipos tan experimentados como los europeos, estadounidenses y rusos, principalmente estos últimos que generalmente son los campeones. Sin embargo, creo que poco a poco vamos mejorando y ganando posiciones para empezar a ranquearnos mejor. En esta oportunidad el equipo resolvió tres problemas, quedamos en el puesto 84 a nivel mundial y en el top 10 entre los más de 20 equipos latinoamericanos que participaron”.

Agregó que, además de resaltar el resultado del equipo, rescatan la importancia del aprendizaje que obtuvieron con la participación en el Mundial, siendo la primera vez que competían en uno. “Fuimos a Rusia con la idea de aprender sobre los tipos de problemas y el nivel que se maneja en estos torneos, que es muy alto; también para conocer a otros equipos, estudiantes y coaches de diferentes países con la idea de hacer comunidad en torno a estos temas, y la verdad, se consiguió”.

Según los organizadores, el ICPC está lleno de personas que dedican sus vidas a mejorar el futuro de la informática.

Así es la entrega de reconocimientos

En el Mundial de Programación llevado a cabo en Moscú, Rusia, para la entrega de reconocimientos, después de consultarlo con los jueces de la final, el director de evaluación es el encargado de determinar los ganadores del campeonato así:

  • Los equipos que terminaron en las cuatro primeras posiciones, recibieron medallas de oro.

  • Aquellos que estuvieron del quinto al octavo lugar recibieron medallas de plata.

  • Los equipos ubicados del noveno al duodécimo lugar recibieron medallas de bronce.

  • El equipo con mayor puntuación es el campeón, merecedor de la Copa del Mundo.