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

La prueba no parece sencilla, en el ambiente hay una mezcla de tensión y concentración. Cuando se inicia la competencia, los 3 integrantes del equipo reciben los problemas, les pegan una leída y rápidamente uno de ellos identifica un problema que era fácil de resolver. Pero el tiempo apremia y hay que estar muy bien organizados para programar los problemas y enviarlos a la evaluación final.

Así transcurrieron los primeros instantes del equipo “Melarita” (palabra armada con las primeras letras de los nombres de sus integrantes), el grupo que logró resolver satisfactoriamente 8 de los 13 algoritmos y cálculos matemáticos de la competencia internacional de programación celebrada en Marruecos en el año 2015. Ese año obtuvo el premio de Campeón Latinoamericano, además de superar a otras prestigiosas universidades como Harvard, Stanford, Carnegie Mellon, Princeton, Beijing y San Pablo (ver noticia anterior).

Desde hace 20 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.

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.

Melanie Sclar

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, una de las integrantes del equipo Melarita y graduada de la Licenciatura en Ciencias de la Computación. 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”.

La experiencia de entrenar aprendiendo

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. Este año Soto está comenzando la Licenciatura en Ciencias de la Computación en Exactas.

Hacía unos 15 años 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”. Actualmente se está entrenando con su equipo, bajo la dirección del graduado Agustín Gutiérrez para participar en una próxima edición de ICPC: “Todos los domingos a la mañana nos juntamos a hacer un simulacro de prueba de distintos torneos, o a pensar y tratar de resolver problemas que no nos hayan salido. Nuestro entrenador nos propone los problemas, nos brinda teoría y hints”, precisa.

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ó del 8 al 19 de julio de 2019 en la Universidad Nacional de Córdoba. (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 nueve 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).

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.

 

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.