Participación de la Universidad Autónoma
Metropolitana en el
ACM ICPC
El Concurso Universitario Internacional de Programación de la
Asociación de Maquinaria Computacional (ACM ICPC) es una
competencia
que fomenta la creatividad, el trabajo en equipo y la innovación
en la creación de programas de cómputo, además de
que permite a los estudiantes universitarios el probar sus habilidades.
El ACM ICPC es la competencia de programación más grande,
antigua y prestigiosa del mundo.
El ACM ICPC se realiza cada año, con competencias en diversos
niveles: local, preliminar, regional y mundial. Este año, la
Universidad Autónoma Metropolitana tendrá su octava
competencia local y los ganadores
participarán en la competencia regional de México y
Centroamérica, a celebrarse en octubre
de 2011 en el ITESM Campus Monterrey, Puebla y Querétaro, en el ITESO
de Guadalajara, el TEC de
Zamora, la
UAQ en Querétaro y la UCI
de Cuba.
Los ganadores de la competencia
regional
participarán en la competencia mundial, a celebrarse en mayo
de 2012 en Varsovia, Polonia.
La participación en cada nivel es por equipos de tres personas
(todos ellos estudiantes de tiempo completo) que deberán
resolver un examen (escrito en inglés) que consiste de uno o
más problemas de programación (normalmente 7 en el
regional y 9 en el mundial) en un tiempo determinado. Cada equipo
cuenta con una computadora y los lenguajes de programación
permitidos son C, C++ y Java. Un problema se considera resuelto
cuando el programa entregado resuelve correctamente todos los casos de
prueba propuestos. Al final de la competencia, los equipos se
clasifican según el número de problemas resueltos y, en
caso de empate, por el tiempo que se hayan tardado en resolverlos.
Las reglas completas de la competencia regional se pueden encontrar aquí y aquí.
El año pasado la UAM Azcapotzalco
participó con tres equipos: uno de ellos obtuvo el lugar
31
de
entre
199
equipos participantes y los tres obtuvieron
mención honorífica. ¡Felicidades!
Problemas de concursos anteriores
Aquí puedes encontrar los exámenes eliminatorios (2004,
2005,
2006,
2007,
2008, 2009
y 2010) y finales (2004,
2005,
2006,
2007,
2008, 2009
y 2010) de los concursos locales de
los años pasados. Para darse una
idea del tipo
de problemas que se proponen en los
exámenes regionales, puedes consultarlos aquí: 1996, 1997, 1998,
1999, 2000,
2001, 2002,
2003, 2004,
2005, 2006,
2007, 2008,
2009 y 2010. También puedes
consultar el curso de Temas
Selectos de Sistemas impartido el
trimestre 2005 Primavera (basado en el libro Programming Challenges
de Skiena y Revilla), el curso de Diseño
de
Algoritmos impartido el trimestre 2010 Otoño, el curso de Temas Selectos de
Ingeniería en Computación impartido el trimestre 2010
Invierno y la base
de datos de
problemas y juez en línea de la Universidad de Valladolid.
Organización en la Universidad Autónoma Metropolitana
La competencia local estará coordinada por el profesor Francisco
Zaragoza del Departamento de Sistemas de la UAM Azcapotzalco. Los
profesores involucrados nos comprometemos a organizar la competencia
local y a
escoger a los ganadores (tres primeros lugares, tres segundos lugares y
tres
terceros lugares). Los gastos de transporte, alojamiento y
alimentación que se deriven de la
participación en el concurso regional de los estudiantes de la
UAM Azcapotzalco serán cubiertos por
la institución. Esperamos que lo mismo sea cierto en Cuajimalpa
y en Iztapalapa.
Calendario
El siguiente calendario es tentativo y se irá
modificando paulatinamente:
- 18 de agosto: Publicación de la convocatoria
en línea (hecho).
- 19 de agosto a 1 de octubre:
Pago del registro de los equipos
de la UAM
Azcapotzalco al
concurso regional.
- 5 de septiembre a 28 de
septiembre:
Inscripciones individuales al
concurso local (por favor llevar esta
forma de inscripción llena a
cualquiera de los profesores involucrados). La
participación en el concurso local es gratuita. Los estudiantes inscritos
recibirán una cuenta de Linux en la que podrán trabajar
en su examen eliminatorio (en UAM-A ir con Francisco Zaragoza).
- 23 a 28 de septiembre:
Examen
eliminatorio.
El
examen
comenzará
a
las
10:00
del 23
de
septiembre
y
terminará a
las
22:00 del 28 de septiembre.
- Sólo se
entregarán códigos fuente (los objeto y ejecutables
enviados serán ignorados) a un correo electrónico por
designarse. Se publicarán los resultados a más tardar el 30 de septiembre.
- El examen constará de cinco
problemas de programación escritos en español para un
total de 200 puntos. Todos los
problemas se podrán resolver con el
material cubierto en un curso de Programación Estructurada o de
Estructura de Datos. La
duración del examen será de cinco
días.
- La evaluación del examen se llevará a cabo en
Linux y consistirá en hacer diez
pruebas a cada programa (cada una con un valor máximo
de 2 a 5 puntos) con diferentes casos de entrada y salida. En esta
ocasión no se
requerirá el uso de archivos sino sólamente la entrada y
salida estándar (es decir, la entrada y salida se
harán con scanf/printf en C y con cin/cout en C++).
Los
compiladores disponibles serán gcc, g++ y gcj.
- Ya puedes consultar los resultados
del examen eliminatorio.
- 1 a 4 de octubre: Examen final. El examen
comenzará a las 01:00 del 1 de octubre y terminará a las
04:00 del 4 de octubre.
- Sólo se
entregarán códigos fuente (los objeto y ejecutables
enviados serán ignorados) a un correo electrónico por
designarse. Se publicarán los resultados a más tardar el 7 de octubre.
- El examen constará de tres
problemas de programación escritos en español, cada uno
con un valor de 100 puntos para un total de 300 puntos. Todos los
problemas se podrán resolver con el
material cubierto en los diversos cursos de
programación impartidos en la UAM.
- La evaluación del examen se llevará a cabo en Linux y consistirá en hacer
diez
pruebas a cada programa (cada una con un valor máximo
de 10 puntos) con diferentes casos de entrada y salida. En esta
ocasión sí se
requerirá el uso de archivos de texto (es decir, la entrada y
salida se
harán con
FILE/fscanf/fprintf en C y con streams en C++). Los
compiladores disponibles serán gcc, g++ y gcj.
- 7 de octubre a 3 de noviembre:
Integración, entrenamiento y registro de los tres equipos de la
UAM Azcapotzalco a los concursos de
preparación y al concurso regional. Recuerden que los
equipos de
las otras unidades de la UAM son responsabilidad de aquellas.
- 8 de octubre: Participación en el concurso
de
preparación con sede en el ITESM Campus Ciudad de
México.
- 21 a 25 de octubre: Entrenamiento usando el Caribbean
Online Judge.
- 4 a 6 de noviembre:
Participación en el concurso
regional
en el ITESM Campus Querétaro.
Requisitos
- Ser alumno de la Universidad Autónoma Metropolitana.
- Saber programar en C, C++ o Java en el ambiente de Linux.
- Para poder participar en el Concurso
Regional de la ACM deberán además satisfacer los requisitos
correspondientes.
Comité Organizador
Presidente: Francisco
Javier Zaragoza Martínez.
Jurado Azcapotzalco: Rodrigo
Alexander Castro Campos, Oscar
Herrera Alcántara, Dolores Lara Cuevas, Sergio Luis Pérez
Pérez, Risto
Rangel Kuoppa y Cynthia A. Rodríguez Villalobos.