CURSO ON-LINE DE PREPARACIÓN |
Sesión 1.1. Introducción al concurso Internacional ACM ICPC |
El ACM International Collegiate
Programming Contest (de forma abreviada ACM-ICPC
o ACM Contest) es un campeonato mundial de
programación para estudiantes universitarios organizado y dirigido por
la ACM (Association for
Computing Machinery). Comenzó en 1970 como una
pequeña
competición entre estudiantes de la Universidad de Texas A&M, y
ha ido creciendo exponencialmente en número de universidades
participantes cada año, de manera que se ha ido expandiendo por todo el
mundo. Hoy es el mayor concurso internacional de programación a nivel
universitario del mundo (por ejemplo, el año 2011 compitieron más de 8.000 equipos
de más de 2.000 universidades de 88 países). Se ha llegado a considerar
como los Juegos
Olímpicos de la Informática.
El ACM Contest es una actividad que proporciona a los estudiantes universitarios una oportunidad para demostrar y mejorar sus capacidades de resolución de problemas. Además de la diversión de la competición (y de la esperanza del éxito), el concurso también proporciona la oportunidad de hacer contactos con compañeros y profesionales de otros países.
El concurso
es una competición de dos
fases entre equipos representantes de instituciones de
educación superior: Fases
Regionales y Finales
Mundiales. Los equipos primero compiten en concursos
regionales por todo el mundo de septiembre a diciembre de cada año. El
equipo ganador de cada concurso regional avanza a las Finales
Mundiales, que se celebran normalmente el siguiente marzo o abril.
Otros equipos finalistas pueden ser invitados a las Finales Mundiales
como equipos "comodines".
Cada universidad puede presentar hasta tres equipos a la Fase Regional, lo cual ha llevado a muchas universidades a organizar su propia Fase Local, en la que se seleccionan los equipos que las representarán en la Fase Regional. Algunos países, como Portugal, la realizan a nivel nacional.
El idioma del concurso es el inglés. Todos los materiales escritos del concurso están en inglés. Se pueden usar otros idiomas en los Concursos Regionales (y, por supuesto, en las Fases Locales). En ellos, equipos compuestos por tres personas que representan a una universidad compiten por ser los más rápidos resolviendo problemas con la ayuda de un ordenador y con la documentación escrita permitida.
En la Fase Regional participan las universidades pertenecientes a una región establecida por la ACM. Estas regiones tienen distintos tamaños y engloban varios países, excepto las regiones para EE.UU. que engloban varios estados. Las universidades españolas están incluidas en la Región Sudoeste de Europa (SWERC - South-Western European Regional Contest), una de las seis regiones europeas existentes, en la que están también incluidas las universidades de Francia, Italia, Portugal, Suiza y oeste de Austria. La Fase Regional se celebra en una universidad perteneciente a esa región (normalmente durante dos o tres años consecutivos). Los ganadores de cada región y los mejores equipos no ganadores de entre todas las regiones pasan a las Finales.
En las Finales se encuentran los mejores 70 equipos de entre todas las regiones del mundo y compiten por becas, material informático y sobre todo por el prestigio de ser los mejores estudiantes universitarios de informática del mundo. Las Finales se celebraban tradicionalmente en EE.UU., aunque hace años que se superaron sus barreras y ahora es válido cualquier lugar del mundo; todos los gastos de asistencia son pagados por la organización y los patrocinadores.
Para
preparar a aquellos alumnos interesados en participar, la Facultad
organiza todos los años un curso titulado “Preparación para el Concurso
Internacional de la ACM para
estudiantes universitarios”, que se imparte durante el segundo
cuatrimestre de cada curso, ahora de forma virtual. Dicho curso, por el
que se pueden obtener créditos CRAU, concluye con la Olimpiada Murciana de Programación
(Fase Local del ACM Contest), en la que se selecciona a los equipos que
se enviarán a la Fase Regional del concurso.
El concurso tiene unas reglas impuestas por la ACM e idénticas, salvo pequeños detalles, en todas las fases. Se trata de resolver el mayor número de problemas propuestos por un jurado en un tiempo establecido. Este tiempo suele oscilar entre 4 y 5 horas dependiendo de la organización. El número de problemas también varía, pero su dificultad hace que no suelan ser más de 9.
El funcionamiento es el que sigue: cada equipo compuesto por tres personas puede utilizar un ordenador y la documentación escrita permitida, pero no puede utilizar ningún otro aparato electrónico ni poseer información que no esté en otro medio que el papel. Los ordenadores están en un sistema en red, el cual posibilita mandar los problemas al jurado una vez resueltos. El jurado evalúa la resolución del problema y, si la considera correcta, guarda el tiempo que ha tardado el equipo en encontrar la solución; de no ser así, penaliza al equipo con 20 minutos. Esta penalización se suma al tiempo invertido en encontrar la solución del problema. Este tiempo sólo tendrá importancia a la hora de resolver un empate entre equipos con un mismo número de problemas resueltos.
¿Fácil? No del todo. Los problemas hacen necesaria la aplicación de las distintas técnicas de programación, altos conocimientos matemáticos y sobre todo tener mucho ingenio. Pero la dificultad no debe ser más que un aliciente para participar en este prestigioso concurso que elige a los mejores estudiantes de informática del mundo cada año.
Los resultados obtenidos por los equipos de la Universidad de Murcia en las diferentes fases regionales han ido mejorando progresivamente hasta llegar a obtener sendas medallas en las dos participaciones de 2010 y 2011. ¡Y seguro que la cosa no se quedará ahí!
Olimpiada de programación - Facultad de Informática - Universidad de Murcia