Autor: Isabel Cristina López Sardiñas / c_info@myb.jovenclub.cu
Resumen
Con la idea de reunir la mayor cantidad de elementos posibles sobre la competencia de programadores o Competición Internacional Universitaria ACM de Programación conocida por su siglas en inglés ACM (International Collegiate Programming Contest, abreviado ACM-ICPC), se elabora este artículo que también pretende reconocer el papel que obtuvo Cuba en su última competencia internacional.
Palabras Claves: Competencia de programadores, programación, algoritmos
Abstract: With the idea of gathering as many elements as possible about the International University Competition ACM (International Collegiate Programming Contest, abbreviated ACM-ICPC), this article is elaborated that also tries to recognize the role that Cuba obtained in its last international competition.
Keywords: programmers competence, programming, algorithms
Introducción
Se comenzará por indagar un poco en la historia de este certamen que comenzó desde 1970 en la Universidad A&M de Texas. Ya para 1977 se realizaban varias rondas clasificatorias. La final mundial fue organizada en colaboración con la ACM Computer Science Conference.
En un inicio los principales equipos eran de Estados Unidos y Canadá. La sede se ha mantenido desde 1989 en la Universidad de Baylor. Las competiciones se han extendido por todo el mundo en competencias regionales organizadas por las universidades de todo el mundo, claro, bajo el auspicio de la ACM. Los competidores ya representan a más de 103 países. También es importante reconocer la colaboración de empresas de la industria informática como IBM.
Al principio participaron 840 equipos de 560 universidades y para 2016 participaron 46381 programadores de 2948 universidades de todo el mundo, lo que evidencia un aumento significativo, porcentualmente cada año aumenta en 10 y hasta en 20 % la cifra de participantes.
Desarrollo
Entrando en materia, como buena competencia se comenzara por dejar claras, las reglas del juego:
- El ICPC es una competición por equipos.
- Cada equipo ha de tener como máximo 3 miembros.
- Los miembros han de ser estudiantes universitarios.
- Los estudiantes deben haber vencido menos de 5 cursos antes del concurso.
- Los participantes en dos finales mundiales o cinco competiciones regionales no pueden participar otra vez.
- Los equipos tienen alrededor de 5 horas en la competencia para resolver los problemas.
- En la final pueden ser de 9 a 12, 10 para las competiciones regionales y 12 para la final.
- Los lenguajes a utilizar en la solución de los problemas son: C, C++, Java o Python2 3.
- Los programas se compilan y ejecutan con los datos de entrada y si falla al calcular la solución, el equipo es notificado del error y pueden enviar nuevamente el programa o probar con otros problemas.
- El ganador será el equipo que resuelva más problemas.
- En caso de empates la clasificación se calcula a partir de los que han tardado menos en resolver los problemas.
Los requerimientos de cognitivos de los participantes deben ser:
- Solución de problemas difíciles.
- Interpretación de los requerimientos de un problema.
- Implementación de las soluciones utilizando un lenguaje de programación.
- Detección de casos límite de prueba.
- Trabajo en equipo.
- Comprensión del idioma inglés.
- Detección de patrones de problemas tipo.
- Redacción y síntesis de material de apoyo para el concurso.
Esta competición tiene como particular que cada programador participante cuenta con un ordenador y no requiere del entendimiento con los demás miembros del equipo para resolver un problema, por tanto se pueden trazar mejores estrategias individuales que sumadas tributen a la victoria colectiva.
La competición tiene distintas fases clasificatorias:
- Competiciones locales
- Regionales
- Final mundial
Pueden hacerse preselecciones por universidades para escoger 3 miembros a la fase regional o simplemente escoger a los estudiantes de mejores rendimientos académicos en esta materia de programación.
Existen más de 30 regiones en todo el mundo que se agrupan Geográficamente. Por ejemplo se agrupan: España, Portugal, Francia y otros países Europeos. Brasil forma una sola región pero Estados Unidos se divide en varias regiones. También existe el área regional del Caribe donde participa Cuba.
Los mejor clasificados de estas Regionales serán los participantes de la final mundial. Cada región participa con un cierto número de equipos, pero no puede haber más de un equipo por universidad.
Una vez expuestas las reglas que se respetaran en esta competencia se ira particularizando en algunos datos curiosos.
La Competencia final ocurre cada año en diferente lugar, siempre en hoteles de lujo.
Entre los equipos que más premios han obtenido se encuentran:
Cantidad de Victorias |
Nombre de la Universidad |
6 | Universidad ITMO |
4 | Universidad Estatal de San Petersburgo |
3 | Universidad de Shanghai Jiaotong |
3 | Universidad Stanford |
2 | Instituto Tecnológico de California |
2 | Universidad de Varsovia |
2 | Universidad de Waterloo |
2 | Universidad Washington en San Luis |
Las competencias al igual que el ajedrez transcurren en un silencio sepulcral con las mesas llenas de contrincantes abstraídos y de miradas perdidas.
Los programadores van enviando sus respuestas, mediante un sistema semiautomático, el jurado da las calificaciones. En las pantallas se actualizan las posiciones hasta la última en la que tiempo se congela y la incertidumbre aumenta la emoción de los concursantes.
Los globos significan cada solución válida expuesta en las pantallas, a mayor cantidad de globos más orgulloso saldrá el equipo de la competencia a esperar la solución final.
Pero: ¿Para qué participar en un evento de esta magnitud?
- Para los programadores, el solo hecho de haber llegado a una final de este evento puede considerarse un logro muy significativo dentro de su trayectoria estudiantil.
- Dentro del mundo de la Informática significaría pertenecer a la élite de la programación en el año.
- La agenda del evento incluye actividades muy atractivas para los participantes.
- Muchas compañías centran la búsqueda de sus recursos humanos en los participantes y porque no, es claro que las mejores propuestas se realizan a los ganadores.
- Ya como profesional del ramo, sería muy provechoso contar en su currículo vitae con la participación en un evento considerado la sima de la programación digital.
- La ACM otorga una membresía gratuita por un año a todos los programadores.
- Las Universidades que participan tienen la posibilidad de evaluar y comparar el nivel de perspectiva de la disciplina de programación en su centro y pueden conocer cómo están sus estudiantes en relación con estudiantes de otros centros y otros países.
A continuación se analizara la participación de Cuba en la competencia de programadores más importante del mundo.
El interés de los estudiantes aumenta cada día ya que los propios estudiantes han notado que este tipo de actividad les está tributando para su formación.
El director de la Regional de la región Caribeña es el ingeniero Dovier Antonio Ripoll. El Juez Principal del Caribe es Yonny Mondelo. El Profesor y entrenador de los equipos mundialistas de la Universidad de La Habana y de nuestro país, el compañero Alfredo Somoza Moreno.
Algunos equipos cubanos son:
- iHistory integrado por los estudiantes José Luis Castrillón Garrido, Jorge Bárbaro Piñeiro Cruz y Eddy Roberto Morales Pérez.
- sUrPRise de la Universidad de Pinar del Río
- KFP de la Marta Abreu de Villa Clara.
- take ABAck de la Universidad de Oriente.
- UH_REFRESH de la Universidad de la Habana (posición 44 con 5 problemas resueltos en el evento de mayo de 2017).
- UH++ también de la Universidad de la Habana, integrado por: Eloy Pérez, Marcelo Fornet, Ariel Cruz.
- KFP de la UCLV (posición 100 con 3 problemas resueltos en dicho evento en abril de 2018).
Para la realización de los eventos regionales la Universidad de las Ciencias Informáticas ha realizado el mejor esfuerzo, dentro de la difícil coyuntura tecnológica que atraviesa el país, ha dispuesto de todas las condiciones y su personal para desarrollar este evento de gran magnitud que como vemos lleva un amplio despliegue tecnológico.
En el 2017, el equipo cubano UH++ hizo historia. Ocupando el lugar 44 en la final mundial de este concurso de programación de la ACM-ICPC. La Mayor de las Antillas encabeza la Región de América Latina y el Caribe al responder de manera correcta 5 problemas estableciendo un récord histórico para este tipo de eventos.
Cuánta razón le asistía a Fidel cuando refiriéndose a la creación de la UCI dijo: «A mí me parece que es la cosa más revolucionaria que hemos inventado, (…) y más revolucionadora (…).Es lo más importante, a mi juicio, lo más revolucionario dentro de todos los cambios».
Este resultado es otro sus sueños hechos realidad.
Conclusiones
Se espera haber reunido abundantes elementos sobre la Competición Internacional Universitaria de Programación ACM-ICPC, destacando el importante papel jugado por el equipo cubano UH++ que ha sabido poner el nombre de Cuba muy alto. Una vez más queda demostrado que la mayor de las Antillas es una isla de voluntades, con una guía imperecedera que nunca será defraudada, porque así lo demuestran los jóvenes día a día.
Referencias bibliográficas
Nairovín Ojeda Durán, UCI [en línea]. [Consultado el 20 de Mayo del 2017]. Disponible en: http://www.uci.cu/registran-campamento-de-acm-icpc-como-curso-de-posgrado-en-programacion-competitiva
Oscar Figueredo Reinaldo, José Raúl Concepción, Cubadebate [en línea]. [Consultado el 20 de Mayo del 2017]. Disponible en: http://www.cubadebate.cu/noticias/2016/11/16/acm-icpc-la-competencia-de-[en línea]. [Consultado el 20 de Mayo del 2017]. Disponible en: programadores-donde-cuba-lidero-a-toda-latinoamerica-fotos-y-videos/#.WTgFvblLk1k
Oscar Figueredo Reinaldo, L Eduardo Domínguez, Cubadebate [en línea]. [Consultado el 20 de Mayo del 2017]. Disponible en: http://www.cubadebate.cu/etiqueta/competencia-internacional-universitaria-de-programacion-acm-icpc/
ECURED [en línea]. [Consultado el 20 de Mayo del 2017]. Disponible en: https://www.ecured.cu/Competencia_internacional_universitaria_de_programaci%C3%B3n
Universidad de la Habana [en línea]. [Consultado el 20 de Mayo del 2017]. Disponible en: http://www.uh.cu/taxonomy/term/548
Tania García Torres, UCI [en línea]. [Consultado el 20 de Mayo del 2017]. Disponible en: http://www.uci.cu/este-sabado-expedita-al-concurso-local-de-acm-en-la-uci
Fidel Castro [en línea]. [Consultado el 20 de Mayo del 2017]. Disponible en: Tania García http://www.fidelcastro.cu/es/articulos/la-uci-un-sueno-de-fidel-hecho-realidad