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 novena
competencia local y los ganadores
participarán en la competencia regional de México y
Centroamérica, a celebrarse en noviembre
de 2012 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 junio de
2013 en San Petersburgo, Rusia.
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 varios
problemas de programación (normalmente 11 en el
regional y 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
5
de
entre
161
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,
2010 y 2011)
y
finales
(2004,
2005,
2006,
2007,
2008, 2009,
2010 y 2011)
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, 2010
y 2011. También puedes llevar el
curso de Temas
selectos
de
sistemas impartido el
trimestre 2012 Primavera (basado en el libro Programming
Challenges
de Skiena y Revilla), el curso de Diseño
de algoritmos impartido el trimestre 2012 Primavera, el curso
de
Temas
Selectos de
Ingeniería en Computación I impartido el trimestre 2012
Primavera 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 abril: Publicación de la convocatoria
en línea (hecho).
- 1 a 29 de mayo: 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 Azcapotzalco ir con Francisco
Zaragoza).
- 7 de mayo a 18 de julio: El curso de Diseño
de algoritmos servirá como preparación adicional para
el concurso.
- 8 de mayo a 17 de julio: El curso de Análisis
de
algoritmos servirá como preparación adicional para
el concurso.
- 8 de mayo a 17 de julio: El curso de Temas
selectos
de
sistemas servirá como preparación adicional para el
concurso.
- 25 a 29 de mayo: Examen
eliminatorio.
El
examen
comenzará
a
las
10:00
del 25 de mayo y terminará a
las
22:00 del 29 de mayo.
- 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
8 de junio.
- 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.
- 30 de mayo: Participación con tres equipos en el Cuarto
Concurso
Anual de Programación de la ESCOM.
- 22 a 26 de junio: Examen
final. El
examen
comenzará
a
las
10:00
del 22 de junio y terminará a
las
22:00 del 26 de junio.
- 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
6 de julio.
- 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.
- Ya puedes consultar los resultados finales
del concurso.
- 18 de julio a 21 de
septiembre: 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.
- 27 de julio: Por favor regístrense en el Caribbean
Online
Judge y en el Tianjin
Online
Judge.
- 1 de agosto a 28 de septiembre:
Pago del registro de los equipos
de la UAM
Azcapotzalco al
concurso regional.
- 10 de septiembre a 29 de noviembre: Tal vez les interesen
estos
tres cursos de temas selectos para
el próximo trimestre: Programación
matemática, Métodos
de
búsqueda
dirigida y Laboratorio
de
Optimización.
- 21 de septiembre a 8 de noviembre: Entrenamiento usando el Caribbean
Online
Judge.
- 29 de septiembre: Participación en el concurso
de
preparación.
- 9 y 10 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: Crevel
Bautista Santiago, Rodrigo
Alexander Castro Campos, Oscar Herrera Alcántara, Sergio Luis
Pérez
Pérez, Risto F. Rangel Kuoppa y Cynthia A. Rodríguez
Villalobos.