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 sexta
competencia local y los ganadores
participarán en la competencia regional de México y
Centroamérica, a celebrarse los días 23 y 24 de octubre
de 2009 en el ITESO
de Guadalajara y en el ITESM y la
UAQ en Querétaro .
Los ganadores de la competencia
regional
participarán en la competencia mundial, a celebrarse del 1 al 6
de febrero en la Harbin
Engineering University en Harbin, China.
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
36 de entre 172 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
y 2008)
y finales (2004,
2005,
2006,
2007
y 2008)
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 y 2008
(todos los archivos
están
en PDF). 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 2008 Primavera, el curso de Temas Selectos de
Ingeniería en Computación impartido el trimestre 2007
Otoño 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:
- 20 de septiembre: Publicación de la convocatoria
en línea (hecho).
- 21 de septiembre a 16 de octubre:
Pago del registro de los equipos
de la UAM
Azcapotzalco al
concurso regional. Lo mismo para los equipos de Cuajimalpa e
Iztapalapa.
- 20 de septiembre a 5 de octubre:
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).
- 1 a 6 de octubre: Examen eliminatorio.
El examen
comenzará a las 10:00 del 1 de octubre y terminará a las
22:00 del 6 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
9 de octubre.
- 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 Introducción a la
Programación o de Estructura de Datos. La
duración del examen será de seis
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++, gcj y javac.
- Ya puedes consultar los resultados
del examen eliminatorio.
- 12 de octubre: Examen final (de 10:00 a 13:00 en el
Laboratorio de Bases de Datos del
Departamento de Sistemas).
- 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
16 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
duración del examen será de tres horas.
- 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 javac.
- Ya puedes consultar los resultados
del examen final.
- 13 a 22 de octubre:
Integración, entrenamiento y registro de los tres equipos de la
UAM Azcapotzalco al concurso regional. Recuerden que los equipos de
las otras unidades de la UAM son responsabilidad de aquellas.
- 23 y 24 de octubre: Participación en el concurso regional
en Querétaro.
Requisitos
- Ser estudiante 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: Oscar
Herrera, Sergio Pérez y Risto Rangel.
Jurado Cuajimalpa: Jorge
Cervantes.
Jurado Iztapalapa: Alfonso
Martínez.