Desde 1998 el Departamento de Computación (DC) de Exactas-UBA participa exitosamente en la Competencia Internacional de Programación ICPC destinada a estudiantes universitarios.

En la sala se vive un silencio absoluto, tensión y concentración. Por unas horas los chicos se desconectan del contexto y se enfocan en los 15 problemas a resolver, mucho más de lo habitual en estas competencias. Tienen cinco horas, el tiempo apremia, la dificultad se acrecienta…Sin embargo rápidamente van identificando las soluciones y, finalmente, logran resolver 8 problemas de los 15.

Así transcurrió la final para el equipo “InChaVoLa” (juego de palabras formado por los nombres de sus integrantes), grupo que obtuvo el primer puesto de Latinoamérica en la Competencia Internacional Universitaria de Programación (en inglés, International Collegiate Programming Contest, o ICPC), que se llevó a cabo en Moscú, Rusia, entre el 1 y el 6 de octubre de 2021. El equipo estuvo formado por Lautaro Lasorsa, Carlos Soto e Ivo Pajor, más el entrenador Agustín Gutiérrez y finalizó en la posición 22 en el total global, entre 117 representantes de universidades de todo el mundo, resultando primero entre los equipos que representaron a Latinoamérica (incluyendo a otros equipos argentinos como GG Dem de la Facultad de Matemática, Astronomía, Física y Computación de la Universidad Nacional de Córdoba, que salió segundo en la región, y Mastropiero Unlimited de la Universidad Nacional del Sur, Bahía Blanca). 

Cabe recalcar que el grupo repitió la hazaña del equipo del DC “Melarita”, que obtuvo el premio de Campeón Latinoamericano en la competencia internacional celebrada en Marruecos en el año 2015 (ver noticia anterior del DC).

Desde hace 22 años el Departamento de Computación (DC) de Exactas-UBA participa en la Competencia Internacional de Programación ICPC destinada a estudiantes universitarios. La competencia es organizada anualmente por la Universidad de Baylor (Estados Unidos) y auspiciada por ACM (Association for Computer Machinery) e IBM. En ella participan 120 equipos de universidades e instituciones de todo el mundo, tanto de occidente como oriente, quienes deben superar diversas instancias previas y eliminatorias de competición. Considerada como el “mundial de programación”, la competencia dura cinco horas y exige resolver cierta cantidad de problemas y luego programarlos. Finalmente un sistema automatizado por los organizadores de la competencia se encarga de revisar cada solución y responde inmediatamente lo que se hizo bien y lo que no. Gana el equipo que resuelva más problemas en el tiempo asignado y en caso de haber desempate es por la velocidad. 

El objetivo de la competencia es promover la creatividad, la innovación y el trabajo en equipo para el desarrollo de nuevos programas de computación, y permite a los alumnos poner a prueba sus habilidades para actuar bajo presión. En este contexto, se destaca la experiencia de aprendizaje de alumnos y alumnas de nuestra carrera.

“Lautaro, Carlos e Ivo se conocen y vienen haciendo cosas juntos desde la secundaria, y en 2019 ganaron la clasificación al Mundial, que se iba a realizar en 2020. Por la pandemia recién se pudo hacer este año, algo que nos dio tiempo a prepararnos un poco mejor para esta competencia”, comenta Agustín Gutiérrez, coach del equipo y Licenciado en Ciencias de la Computación (UBA). Según el entrenador, conocer Moscú fue una gran experiencia para los chicos, pero mucho más importante aún fue la posibilidad de compartir experiencias con estudiantes y programadores de todo el mundo, poniendo en perspectiva el nivel de Argentina frente a otros países “el contacto cara a cara es mucho mejor que cualquier otra forma de comunicación vía web. Gracias a ello pudimos conocer las problemáticas y compartir experiencias que tenemos en común con otras universidades, por ejemplo con las latinoamericanas”, puntualiza. Y concluye “Rusia salió campeón las últimas 9 ediciones de este mundial, básicamente porque le dan mucha importancia a las competencias y porque hay mucho apoyo del sistema educativo a la programación. Al haber tanta demanda del mercado global, en nuestro país es necesario mejorar constantemente, capacitar a más gente y seguir trabajando fuertemente en este campo” (escuchar entrevista a Agustín Gutiérrez y Lautaro Lasorsa en CNN Radio).

La experiencia de entrenar aprendiendo

Melanie Sclar

Melanie Sclar fue una de las integrantes del equipo Melarita y es graduada de la Licenciatura en Ciencias de la Computación “Desde que empecé el secundario que me entusiasmaba la idea de participar de competencias pero como no sabía programar me anoté solamente en las de matemática”, cuenta Melanie Sclar, y destaca “me sirvió muchísimo haber sentado las bases del pensamiento matemático primero, para después agregar el pensamiento computacional. Sería como cursar Álgebra 1 antes de Algoritmos 1, pero estudiando álgebra por cinco años…”.

Melanie se anotó en la ICPC con Ariel Zylber, un amigo muy cercano de las olimpiadas de matemática, y con Lucas Tavolaro Ortiz, otro compañero que Ariel conocía de las olimpiadas de informática. Y pusieron manos a la obra: se juntaron a pensar problemas una vez cada 15 días antes de cursar, lo que les ayudó a entender mucho más en profundidad los contenidos de varias materias de la carrera. El coach del equipo fue Agustín Gutiérrez, Licenciado en Ciencias de la Computación de Exactas, y la profesora Irene Loiseau fue su coordinadora.

Comenzaron a participar cursando Algoritmos 1, avanzaban rápido, y a veces se les aparecían problemas que requerían un algoritmo que todavía no habían visto en la carrera. “Esto hizo que algunas veces hagamos el proceso inverso al usual en la cursada: primero teníamos un problema, y luego encontramos que existe un algoritmo que nos puede ayudar y lo estudiamos”, explica Melanie.

Según Lucas Tavolaro Ortiz, la importancia del Mundial tiene varias aristas: “no se trata sólo de competir sino que sirve para que la gente se forme y se pueda difundir la carrera de Computación. Además nos permite desmitificar que hay que ser un genio, un iluminado para estar acá: son cosas que se enseñan en la Facultad, y después es entrenar mucho”. Ariel Zylber, por su parte, cuenta sobre su aprendizaje y los vínculos generados en estos años. “Ahora sé mucho más de algoritmos y se abren muchas puertas gracias a este puesto que conseguimos. Es buenísima la experiencia que me llevé, me hice amigos nuevos y me hice más amigo de mis compañeros de equipo”, subraya. Y en algo coincide Melanie con Ariel, “siento que las competencias me marcaron como persona: fue donde conocí a la mayoría de mis amigos, y de donde tengo varios de mis recuerdos más lindos”.

Pablo Ariel Heiber

Pablo Ariel Heiber -Licenciado y Doctor en Ciencias de la Computación de Exactas e Ingeniero de Software en Google- es otro referente de las competencias. Participó varias veces en ICPC. Durante los 5 años de su carrera de grado clasificó a la competencia interna de la facultad para luego participar de la regional latinoamericana. En 2 oportunidades llegó a la final mundial y en el año 2007 alcanzó con su equipo el puesto de campeón latinoamericano, siendo 14º en el ranking mundial.

Las pruebas son divertidas, interesantes y muy intensas. Además de una fuerte preparación teórico-práctica, se requieren niveles altos de capacidad de mantener el foco bajo presión durante las 5 horas de competencia. Es como prepararse para deportes de alta competencia, pero sin la parte atlética”, ilustra Heiber, quien actualmente trabaja en las oficinas de Google en San Francisco y ha participado en el comité de problemas de la competencia regional.

Según el excompetidor y fundador del Torneo Argentino de Programación, lo más valorable de las competencias y lo que perdura en el tiempo es la preparación: “No saqué la cuenta, pero a lo largo de esos años debo haber estudiado decenas de miles de problemas, y resuelto miles de esos en un entorno de competencia, real o simulada”. Y destaca que esa preparación le sirvió de muchas maneras durante su carrera de licenciatura, doctorado y en su trabajo profesional, por ejemplo, para aprender a pasar rápido de idea a implementación sin errores, tener facilidad para identificar potenciales fallas que requieren chequeo y habilidad para enfrentarse a pruebas de temario abierto. “Los programadores que pueden resolver problemas son escasos y muy buscados, pero los programadores que pueden identificar y especificar nuevos problemas resolubles lo son aún más”, complementa Heiber.

Para estudiantes, graduados y graduadas de computación, la participación en competencias aporta muchos conocimientos y práctica de resolución de problemas e implementación libre de errores, que son directamente aplicables en el día a día y en cualquier campo de aplicación. Así se sintetiza, de algún modo, la visión de Heiber, quien concluye: “A diferencia de los exámenes de una carrera universitaria que están enfocados en un temario fijo, en las competencias de programación de nivel universitario o profesional no hay un temario. Por supuesto que ciertos temas se pueden estudiar pero los mejores problemas son los que tienen un porcentaje de resolución más alto y un porcentaje de aplicación de técnicas, algoritmos o teoremas conocidos más bajo”. En este contexto, Heiber sostiene que para liderar proyectos de importancia, además de conocimientos y buen manejo de herramientas, hace falta trascender esas herramientas de manera creativa: al igual que los buenos escritores de problemas para competencias, el mundo siempre va creando problemas nuevos que no se pueden resolver con soluciones anteriores.

Carlos Soto

Otro ejemplo destacado es el de Carlos Soto, un joven correntino que en 2018 se consagró campeón latinoamericano en las Olimpiadas Internacionales de Informática que se desarrollaron en Japón, y su destacado puntaje situó a la Argentina dentro del ranking mundial de los mejores estudiantes en la materia, logrando la tercera medalla para el país. Soto está cursando la Licenciatura en Ciencias de la Computación en Exactas.

Hacía más de una década que ningún argentino obtenía este título. Entre 300 alumnos y alumnas de todo el mundo, Soto se posicionó en el top 20 junto a estudiantes de Estados Unidos, China, Georgia, Singapur y Rusia. “Con los entrenamientos que nos da la olimpiada y con dedicación, creo que cualquiera puede llegar a un resultado que uno normalmente ve como muy lejano”, afirma convencido Soto. Él comenta que, aunque cierto conocimiento teórico ayuda a resolver problemas, en algunos casos se necesitan soluciones alternativas usando solamente el ingenio.

En cuanto a la elección de la carrera universitaria, Soto cuenta: “Aunque también me gustaba Matemática, al final me decidí por Computación porque me interesaban muchas de las cosas que leía en internet sobre informática y la capacidad de hacer cosas por tu cuenta”. 

Training Camp y Olimpiadas de Informática

Desde el año 2010, se organizan en Argentina entrenamientos para participantes de competencias de programación con el apoyo de estudiantes, graduados y graduadas con experiencia en las competencias, quienes año a año demuestran una activa participación de la Facultad de Exactas-UBA: en muchos casos ha sido sede del evento y sus docentes y alumnos han coordinado la preparación. Denominado como “Training Camp”, se trata de un entrenamiento intensivo de 2 semanas, dirigido a la preparación de estudiantes de todo el país y de Latinoamérica para competencias de programación con el objetivo de fomentar una mayor participación y compromiso de las diversas universidades argentinas y latinoamericanas con la competencia. El último Training Camp se realizó en forma virtual en 2020  (ver sitio web).

Durante el entrenamiento, se busca resolver problemas individualmente o en equipo, utilizando razonamientos de lógica y matemática, como así también algorítmicos. Luego, la solución debe ser implementada mediante un lenguaje de programación, y se evalúa dicha solución contra un conjunto de casos de prueba que permiten juzgar automáticamente si ésta es correcta o no.

Una de las experiencias más gratificantes en el proceso de aprender a resolver problemas computacionales es compartirlo con otros que tienen la misma pasión. Por eso participamos de varios Training Camp, que son escuelas de dos semanas en alguna ciudad del país que cambia año a año con estudiantes de todas partes de Latinoamérica”, puntualiza Melanie.

Dado que Melanie ya había participado de las finales mundiales de 2014 y 2015, y las competencias sólo permiten participar dos veces a un mismo estudiante, ella pasó a colaborar en la organización de las competencias y de los Training Camp. Además empezó a formar parte de la organización de olimpiadas de informática de nivel medio y está dando cursos de programación competitiva para chicos de secundario. “Al formar parte del armado de los exámenes pude ver ‘el otro lado’: inventar problemas, evaluar la dificultad de cada uno y hacer que la prueba quede con temas variados”, relata.

Al mismo tiempo, la Universidad Nacional de San Martín organiza anualmente la Olimpíada Informática Argentina (OIA), destinada a alumnos y alumnas de escuelas primarias y secundarias. La OIA tiene como objetivo contribuir a la educación de jóvenes fomentando su participación en actividades que demanden mayor preparación y superación en conocimientos de informática, y apoyarles en su futura formación.

El rol del DC en las competencias

Desde el año 1998 equipos de estudiantes de Computación, Matemática y Física, de la Facultad de Ciencias Exactas y Naturales (FCEN), Universidad de Buenos Aires (UBA), participan en la Competencia Internacional de Programación (International Collegiate Programming Contest https://icpc.baylor.edu). La FCEN se prepara desde hace años para esta competencia, con un trabajo destacado de coordinación de la profesora Irene Loiseau, con el apoyo de instituciones públicas y privadas, involucrando, principalmente, a estudiantes de grado y a ex participantes de la competencia. Además, convoca a investigadores, investigadoras y docentes que se encargan de fomentar la participación, entrenar a posibles participantes, y organizar las competencias regionales y algunos de los entrenamientos en el Training Camp.

Equipo finalista en 2002

En diez oportunidades, el equipo de Exactas alcanzó el primer puesto de América Latina, superando a universidades de prestigio internacional, Los mejores resultados se dieron en 2002 con el 10º lugar en todo el mundo y la medalla de bronce. Y en 2003 con el puesto 12º, repitiendo la medalla de bronce. Asimismo, en cuatro oportunidades el equipo de Exactas obtuvo menciones honoríficas en la final mundial.

 

Equipo finalista en 2015

El 29 de junio de 2015, el Departamento de Computación de Exactas-UBA recibió la mención de honor “Domingo Faustino Sarmiento”, de parte del Senado de la Nación, con el propósito de premiar la importante trayectoria del Departamento en la formación de profesionales de la computación, su rol en la investigación científica y también los logros obtenidos por sus estudiantes en la competencia internacional de programación ICPC durante los últimos años (ver noticia anterior del DC).

La International Collegiate Programming Contest es una competencia en programación de computadoras para estudiantes universitarios, organizada anualmente por la Universidad de Baylor. Es la mayor, más antigua y más prestigiosa competencia a nivel internacional de programación, y se organiza desde 1970. Cada año la competencia Internacional se inicia con competencias regionales en todo el mundo, de las cuales clasifican los equipos que participan cada año en las ICPC World Finals. En tanto que la competencia regional latinoamericana se lleva a cabo el mismo día, en simultáneo, cada año en diferentes ciudades de Latinoamérica (las últimas en varias sedes en Chile, Colombia, Venezuela, Perú, Brasil, Argentina, Panamá, Bolivia, México y Cuba).

 

Equipos de Exactas campeones latinoamericanos

1999: Dario Robak, Nicolás Stier Moses e Ignacio Laplagne. Coach: Pablo Coll.

2000: Ignacio Laplagne, Santiago Laplagne y Dario Robak. Coach: Pablo Coll.

2002 (Medalla de Bronce): Flavia Bonomo, Dario Fischbein y Sergio Sancho. Coach: Guillermo Durán.

Equipo finalista en 2003

2003 (Medalla de Bronce): Flavia Bonomo, Dario Fischbein y Sergio Sancho. Coach: Pablo Coll.

2007: Pablo Heiber, Alejandro Deymonnaz y Francisco Roslan. Coach: Dario Fischbein.

2008: Luciano Quintabani, Leandro Groisman y Santiago Pérez. Coach: Laura Bolognini.

2009: Alejandro Deymonnaz, Agustín Gutiérrez e Ignacio Rossi. Coach: Francisco Roslan.

2011: Agustín Gutiérrez, Juan Dodyk e Ignacio Rossi. Coach: Alejandro Deymonnaz.

2015: Melanie Sclar, Lucas Tavolaro Ortiz y Ariel Zylber. Coach: Agustín Gutiérrez.

2021: Lautaro Lasorsa, Carlos Soto e Ivo Pajor. Coach: Agustín Gutiérrez.

 

Resumen de todos los equipos de Exactas finalistas

1999: Dario Robak, Nicolás Stier Moses e Ignacio Laplagne. Coach: Pablo Coll.

2000: Ignacio Laplagne, Santiago Laplagne y Dario Robak. Coach: Pablo Coll.

2001: Alexis Prus, Ariel Futoransky y Sergio Lerner. Coach: Irene Loiseau.

2002: Flavia Bonomo, Dario Fischbein y Sergio Sancho. Coach: Guillermo Durán.

2003: Flavia Bonomo, Dario Fischbein y Sergio Sancho. Coach: Pablo Coll.

2005: Hernán Bandura, Franscisco Roslan y Pablo Heiber. Coach: Dario Fischbein.

Equipo finalista en 2007

2007: Pablo Heiber, Alejandro Deymonnaz y Francisco Roslan. Coach: Dario Fischbein.

2008: Luciano Quintabani, Leandro Groisman y Santiago Pérez. Coach: Laura Bolognini.

2009: Alejandro Deymonnaz, Agustín Gutiérrez e Ignacio Rossi. Coach: Francisco Roslan.

2010: Pablo Gauna, Leopoldo Taravilse y Quimey Vivas. Coach: Agustín Gutiérrez.

2011: Agustín Gutiérrez, Juan Dodyk e Ignacio Rossi. Coach: Alejandro Deymonnaz.

2012: Pablo Gauna, German Stefanich, Leopoldo Taravilse. Coach: Quimey Vivas.

2013: Nicolás Ponieman, Pablo Blanc, Martín Fixman. Coach: Agustín Gutiérrez.

2014: Melanie Sclar, Lucas Tavolaro Ortiz y Ariel Zylber. Coach: Agustín Gutiérrez.

2015: Melanie Sclar, Lucas Tavolaro Ortiz y Ariel Zylber. Coach: Agustín Gutiérrez.

2016: Miguel Maurizio, Sebastián Prillo y Alfredo Umfurer. Coach: Agustín Gutiérrez.

2017: Miguel Maurizio, Sebastián Prillo y Alfredo Umfurer. Coach: Agustín Gutiérrez.

2019: Teodoro Freund, Agustin Borgna, Andrés Radunsky. Coach: Eugenio Borghini.

2021: Lautaro Lasorsa, Carlos Soto e Ivo Pajor. Coach: Agustín Gutiérrez.

2022: Marcos Blufstein, Julian Braier y Mateo Marenco. Coach: Eugenio Borghini.

2023: Lautaro Lasorsa, Carlos Soto e Ivo Pajor. Coach: Agustín Gutiérrez.