Competencia Internacional de programadores

Autor: Isabel Cristina López Sardiñas / c_info@myb.jovenclub.cu

Competencia de programadores. ACM Final Thailand-2016
Imagen 1. Competición Internacional Universitaria ACM de Programación Final Thailand-2016

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:  

  1. El ICPC es una competición por equipos.
  2. Cada equipo ha de tener como máximo 3 miembros.
  3. Los miembros han de ser estudiantes universitarios.
  4. Los estudiantes deben haber vencido menos de 5 cursos antes del concurso.
  5. Los participantes en dos finales mundiales o cinco competiciones regionales no pueden participar otra vez.
  6. Los equipos tienen alrededor de 5 horas en la competencia para resolver los problemas.
  7. En la final pueden ser de 9 a 12, 10 para las competiciones regionales y 12 para la final.
  8. Los lenguajes a utilizar en la solución de los problemas son: C, C++, Java o Python2 3.
  9. 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.
  10. El ganador será el equipo que resuelva más problemas.
  11. 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:

  1. Competiciones locales
  2. Regionales
  3. 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.
Imagen 2. Equipo cubano en la final de ACM-ICPC (2017
Imagen 2. Equipo UH++ cubano en la final de ACM-ICPC (2017)

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

Enlaces relacionados

InfoClub 2017, XIII Evento Nacional de Informática para Jóvenes en el Número 56 de Tino

XVII Convención y Feria Internacional Informática 2018 │ XVII Convention and International Computer Fair 2018 en el Número 60 de Tino

El Dr.C. Carlos González Tardón nos habla sobre Informática 2018 y los videojuegos

en el Número 60 de Tino

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *