El Concurso Universitario Internacional de Programación , conocido como ICPC , es una competencia anual de programación competitiva de varios niveles entre las universidades del mundo. [1] Dirigido por el director ejecutivo del ICPC y profesor de Baylor, William B. Poucher, el ICPC opera concursos regionales autónomos que cubren seis continentes y culminan en una final mundial global cada año. En 2018, la participación del ICPC incluyó a 52.709 estudiantes de 3.233 universidades en 110 países.
El ICPC opera bajo los auspicios de la Fundación ICPC y opera bajo acuerdos con universidades anfitrionas y organizaciones sin fines de lucro, todo de acuerdo con las Políticas y Procedimientos del ICPC. [2] Desde 1977 hasta 2017, el ICPC se celebró bajo los auspicios de ACM y se lo denominó ACM-ICPC. [3]
El ICPC tiene sus raíces en una competencia celebrada en la Universidad Texas A&M en 1970 y organizada por el Capítulo Alfa de la Sociedad de Honor de Ciencias de la Computación (UPE) Upsilon Pi Epsilon . Esta competencia de programación inicial se tituló Primer Campeonato Anual de Programación Universitaria de Texas y cada universidad estuvo representada por un equipo de hasta cinco miembros. La computadora utilizada fue una 360 modelo 65, que fue una de las primeras máquinas con un sistema DAT (Dynamic Address Translator, también conocido como "paginación") para acceder a la memoria. Los equipos que participaron incluyeron Texas A&M, Texas Tech, la Universidad de Houston y otras cinco o seis universidades/colegios de Texas. Había tres problemas que debían completarse y el tiempo acumulado desde el "inicio" hasta la "finalización exitosa" determinó los ganadores del primer, segundo y tercer lugar. El lenguaje de programación utilizado fue Fortran . Los programas se escribieron en hojas de codificación, se perforaron en tarjetas Hollerith y se enviaron para su ejecución. El equipo de la Universidad de Houston ganó la competencia completando exitosamente los tres problemas con el tiempo. Los equipos en segundo y tercer lugar no completaron con éxito los tres problemas. El concurso evolucionó hasta su forma actual como competencia de varios niveles en 1977, y las primeras finales se celebraron junto con la Conferencia de Ciencias de la Computación de la ACM.
De 1977 a 1989, el concurso incluyó principalmente equipos de cuatro de universidades de Estados Unidos y Canadá. La sede del ICPC fue sede de la Universidad de Baylor desde 1989 hasta 2022, con concursos regionales establecidos dentro de la comunidad universitaria mundial, el ICPC se ha convertido en una competencia mundial. Para aumentar el acceso a las Finales Mundiales, los equipos se redujeron a tres estudiantes dentro de sus primeros cinco años académicos. [ cita necesaria ]
De 1997 a 2017, International Business Machines Corporation (IBM) fue el patrocinador del ICPC. Durante ese tiempo la participación en el concurso ha crecido en más de un 2000%. En 1997 participaron 840 equipos de 560 universidades. En 2017, 46.381 estudiantes de 2.948 universidades de 103 países de seis continentes participaron en competiciones regionales. Organizado como un deporte mental universitario extracurricular altamente localizado y operando como una asociación no incorporada coordinada globalmente que opera bajo acuerdos con universidades anfitrionas y organizaciones sin fines de lucro, el ICPC está abierto a equipos calificados de todas las universidades del mundo. [ cita necesaria ]
La UPE ha brindado apoyo continuo desde 1970 y ha honrado a los finalistas mundiales desde las primeras finales en 1976. El CIPC está en deuda con las contribuciones de los miembros del ACM y con la asistencia del ACM desde 1976 hasta 2018. La Universidad de Baylor sirvió desde 1985 y fue sede de la sede del CIPC desde 1989 hasta 2022. El CIPC opera bajo los auspicios de la Fundación ICPC, que proporciona la sede global del ICPC para dar servicio a una comunidad coordinada globalmente cuyos eventos operan bajo acuerdos con universidades anfitrionas y organizaciones sin fines de lucro para garantizar que la participación en el ICPC esté abierta a equipos calificados de todas las universidades del mundo. . Ver Políticas y Procedimientos del CIPC. [2]
La Final Mundial del ICPC (La Final Mundial Anual del Concurso Internacional de Programación Universitaria) es la ronda final de la competencia. A lo largo de su historia, se ha convertido en un evento de cuatro días celebrado en los mejores lugares del mundo con 140 equipos compitiendo en la Final Mundial de 2018. Los equipos campeones del mundo recientes han sido reconocidos por el jefe de estado de su país. En los últimos años, las impresiones en los medios han rondado los mil millones. [ cita necesaria ]
De 2000 a 2022, solo equipos de Rusia , China y Polonia ganaron la final mundial del ICPC. [4] La participación en América del Norte es mucho menor que en el resto del mundo, lo que se atribuye en parte a la percepción de bajos beneficios de participar. [5]
Los concursos del ICPC son competiciones por equipos. Las reglas actuales estipulan que cada equipo estará formado por tres estudiantes. Los participantes deberán ser estudiantes universitarios, que hayan tenido menos de cinco años de formación universitaria antes del concurso. Los estudiantes que hayan competido previamente en dos Finales Mundiales o cinco competencias regionales no son elegibles para competir nuevamente. [6] [7]
Durante cada competencia, los equipos de tres tienen 5 horas para resolver entre ocho y quince problemas de programación (ocho típicos para las regionales y doce para las finales). Deben enviar soluciones como programas en C , C++ , Java , Ada , [8] Python [9] [10] o Kotlin [11] (aunque no se garantiza que todos los problemas puedan resolverse en un lenguaje determinado, el sitio web del ICPC afirma que "los jueces habrán resuelto todos los problemas en Java y C++" tanto para las competiciones finales regionales como para las mundiales). Luego, los programas se ejecutan con datos de prueba. Si un programa no da una respuesta correcta, se notifica al equipo y puede enviar otro programa.
El ganador es el equipo que resuelva correctamente la mayor cantidad de problemas. Si es necesario clasificar a los equipos para obtener medallas o premios entre equipos empatados, la ubicación de los equipos se determina mediante la suma de los tiempos transcurridos en cada punto en el que presentaron soluciones correctas más 20 minutos por cada envío rechazado de un problema finalmente resuelto. No se pierde tiempo en un problema que no se soluciona. [12]
En comparación con otros concursos de programación (por ejemplo, la Olimpiada Internacional de Informática ), el CIPC se caracteriza por un gran número de problemas (ocho o más problemas en sólo 5 horas). Otra característica es que cada equipo puede utilizar sólo una computadora, aunque los equipos tienen tres estudiantes. Esto hace que la presión del tiempo sea aún mayor. Para ganar se necesita buen trabajo en equipo y capacidad para soportar la presión.
Las Finales Mundiales ACM-ICPC 2004 se celebraron en Obecni Dum, Praga , junto a la Universidad Técnica Checa de Praga. 3.150 equipos que representan a 1.411 universidades de 75 países compitieron en rondas eliminatorias, y 73 de esos equipos avanzaron a la final mundial. Ganó el Instituto de Óptica y Mecánica Fina de San Petersburgo de Rusia, resolviendo 7 de 10 problemas. [13] Los medallistas de oro fueron el Instituto de Óptica y Mecánica Fina de San Petersburgo, el Real Instituto de Tecnología KTH (Suecia), la Universidad Estatal de Bielorrusia y la Universidad Estatal de Perm (Rusia).
La final mundial de 2005 se celebró en el Hotel Pudong Shangri-La de Shanghai el 6 de abril de 2005, organizada por la Universidad Jiao Tong de Shanghai . 4.109 equipos que representan a 1.582 universidades de 71 países compitieron en rondas eliminatorias, y 78 de esos equipos avanzaron a la final mundial. La Universidad Jiao Tong de Shanghai ganó su segundo título mundial, con 8 de 10 problemas resueltos. [14] Los ganadores de la medalla de oro fueron la Universidad Jiao Tong de Shanghai, la Universidad Estatal de Moscú (Rusia), el Instituto de Óptica y Mecánica Fina de San Petersburgo (Rusia) y la Universidad de Waterloo (Canadá).
Las Finales Mundiales ACM-ICPC 2006 se llevaron a cabo en San Antonio , Texas , y fueron organizadas por la Universidad de Baylor . [15] 5.606 equipos que representaban a 1.733 universidades de 84 países compitieron en rondas eliminatorias, y 83 de esos equipos avanzaron a la final mundial. Ganó la Universidad Estatal de Saratov de Rusia, resolviendo 6 de 10 problemas. [16] Los ganadores de la medalla de oro fueron Saratov, la Universidad Jagellónica (Polonia), la Universidad Técnica Estatal de Altai (Rusia) y la Universidad de Twente (Países Bajos).
Las Finales Mundiales ACM-ICPC 2007 se llevaron a cabo en el Tokyo Bay Hilton, en Tokio, Japón, del 12 al 16 de marzo de 2007. La Final Mundial fue organizada por el Capítulo ACM Japón y el Laboratorio de Investigación de IBM Tokio. Unos 6.099 equipos compitieron en seis continentes a nivel regional. Ochenta y ocho equipos avanzaron a la final mundial. La Universidad de Varsovia ganó su segundo campeonato mundial resolviendo 8 de 10 problemas. Los ganadores de la medalla de oro fueron la Universidad de Varsovia, la Universidad de Tsinghua (China), el Instituto de Óptica y Mecánica Fina de San Petersburgo (Rusia) y el Instituto de Tecnología de Massachusetts (Estados Unidos). Los ganadores de la medalla de plata incluyen la Universidad Jiao Tong de Shanghai (China) y otras tres universidades.
Las Finales Mundiales ACM-ICPC 2008 se llevaron a cabo en el Hotel Fairmont Banff Springs, en Banff, Alberta, Canadá, del 6 al 10 de abril de 2008. [17] La Final Mundial fue organizada por la Universidad de Alberta. Hubo 100 equipos en la final mundial, de un total de 6700 equipos que compitieron en las rondas anteriores. [18] El Instituto de Óptica y Mecánica Fina de San Petersburgo ganó su segundo campeonato mundial. El Instituto Tecnológico de Massachusetts , la Universidad Técnica Estatal de Izhevsk y la Universidad Nacional de Lviv también recibieron medallas de oro.
Las Finales Mundiales ACM-ICPC 2009 se llevaron a cabo en Estocolmo, Suecia, del 18 al 22 de abril, en el campus de la institución anfitriona, el KTH Royal Institute of Technology , así como en el Grand Hotel, el Radisson Strand y el Diplomat Hotel. Había 100 equipos de más de 200 sitios regionales compitiendo por el Campeonato Mundial. El Instituto de Óptica y Mecánica Fina de San Petersburgo defendió su título y ganó su tercer campeonato mundial. La Universidad de Tsinghua , la Universidad Estatal de San Petersburgo y la Universidad Estatal de Saratov también recibieron medallas de oro. [19] Las Finales Mundiales de 2009 fueron pioneras en la transmisión de video en vivo de todo el concurso, con elementos como comentarios de expertos, transmisiones en vivo de los equipos y sus pantallas de computadora y entrevistas con jueces, entrenadores y dignatarios. El evento fue retransmitido online, así como por el canal de televisión sueco Axess TV .
Las Finales Mundiales ACM-ICPC 2010 se llevaron a cabo en Harbin , China. El anfitrión es la Universidad de Ingeniería de Harbin . La Universidad Jiao Tong de Shanghai ganó el campeonato mundial. [20] La Universidad Estatal de Moscú , la Universidad Nacional de Taiwán y la Universidad Nacional Taras Shevchenko de Kiev también recibieron medallas de oro.
Las Finales Mundiales ACM-ICPC 2011 se llevaron a cabo en Orlando, Florida y fueron organizadas por el patrocinador principal IBM . Inicialmente, el concurso estaba programado para celebrarse en Sharm el-Sheikh , Egipto, en febrero, pero se pospuso debido a la inestabilidad política asociada con la Primavera Árabe . La Universidad de Zhejiang obtuvo el primer lugar, mientras que la Universidad de Michigan en Ann Arbor, la Universidad de Tsinghua y la Universidad Estatal de San Petersburgo ocuparon el segundo, tercer y cuarto lugar respectivamente, cada una de las cuales recibió medallas de oro. [21] China(2G) Estados Unidos(1G) Rusia(1G,2S,2B) Alemania(1S) Ucrania(1S) Polonia(1B) Canadá(1B)
La final mundial de 2012 se celebró en Varsovia, Polonia. Fueron inaugurados el 15 de mayo y organizados por la Universidad de Varsovia . [22] El Instituto de Óptica y Mecánica Fina de San Petersburgo ganó su cuarto campeonato mundial, la mayor cantidad de cualquier universidad en ese momento. La Universidad de Varsovia , el Instituto de Física y Tecnología de Moscú y la Universidad Jiao Tong de Shanghai obtuvieron el segundo, tercer y cuarto lugar respectivamente y recibieron medallas de oro. Rusia(2G,1B) China(1G,1S) Polonia(1G) Estados Unidos(1S) Hong Kong(1S) Bielorrusia(1S,1B) Canadá(1B) Japón(1B)
La Final Mundial de 2013 se celebró en San Petersburgo, Rusia. Fueron inaugurados el 3 de julio y fueron organizados por NRU ITMO .
Los trece mejores equipos de 2013 que recibieron medallas son:
Japón(1G) Rusia(1G,1S,2B) China(1G,1B) Taiwán(1G) Polonia(1S,1B) Ucrania(1S) Bielorrusia(1S) Estados Unidos(1B)
La Final Mundial de 2014 se celebró en Ekaterimburgo, Rusia, del 21 al 25 de junio, y fue organizada por la Universidad Federal de los Urales . La competición final se celebró el 25 de junio. [25] 122 equipos participaron en la competición y la Universidad Estatal de San Petersburgo se convirtió en campeona del mundo. [26]
Los siguientes equipos recibieron medallas en ICPC 2014: [26]
Rusia(2G,2B) China(1G,1S,1B) Taiwán(1G) Japón(1S) Polonia(1S) Croacia(1S) Eslovaquia(1B)
Oro
Plata
Bronce
Las Finales Mundiales de 2015 se celebraron en Marrakech ( Marruecos ) del 16 al 21 de mayo y fueron organizadas por la Universidad Mohammed V , la Universidad Al Akhawayn y la Universidad Mundiapolis. La competición final tuvo lugar el 20 de mayo. 128 equipos compitieron por ser Campeón del Mundo. La ITMO de San Petersburgo resultó ganadora, habiendo resuelto todos los problemas (13) por primera vez. Otros medallistas incluyeron equipos de Rusia (2G), China (1G, 1B, 1S), Japón (1G), Estados Unidos (1B, 1S), Croacia (1S), República Checa (1S), Corea (1B) y Polonia (1B).
Oro
Plata
Bronce
La final mundial de 2016 se celebró en Phuket ( Tailandia ) del 16 al 21 de mayo. La competición final fue el 19 de mayo. 128 equipos compitieron por ser Campeón del Mundo. Los ganadores fueron la Universidad Estatal de San Petersburgo , resolviendo 11 de 13 problemas. El primer finalista fue la Universidad Jiao Tong de Shanghai, que también resolvió 11 problemas, pero a 7 minutos del equipo ganador.
Oro
Plata
Bronce
Las Finales Mundiales de 2017 se llevaron a cabo en Rapid City, Dakota del Sur ( Estados Unidos ), del 20 al 25 de mayo, organizadas por Excellence in Computer Programming. Debido a problemas de visa, varios equipos no pudieron presentarse en el lugar, donde a las escuelas afectadas se les permiten calificaciones directas para ICPC 2018 además de los lugares de calificación habituales.
El ganador fue la Universidad ITMO . Los equipos de los siguientes países recibieron medallas en ICPC 2017: Rusia (2 de oro, 1 de plata, 1 de bronce), Polonia (1 de oro), Corea del Sur (1 de oro, 1 de bronce), China (3 de plata), Suecia (1 de bronce). ), Japón (1 Bronce).
Oro
Plata
Bronce
La Final Mundial de 2018 se celebró en Beijing ( China ), del 15 al 20 de abril, y fue organizada por la Universidad de Pekín .
Oro
Plata
Bronce
Archivado en Wayback Machine (archivado el 24 de abril de 2018)
En la final mundial de 2018, los problemas "Conquer the World" y "Uncrossed Knight's Tour" no se resolvieron.
Las Finales Mundiales de 2019 se celebraron en Oporto ( Portugal ) del 31 de marzo al 5 de abril de 2019, organizadas por la Universidad de Oporto y la Ciudad de Oporto. [28]
Oro
Plata
Bronce
Debido a la pandemia de COVID-19 , se pospusieron las Finales Mundiales de 2020. [29] La final tuvo lugar en Moscú ( Rusia ) del 1 al 5 de octubre de 2021, organizada por el Instituto de Física y Tecnología de Moscú . [30]
Oro [31]
Plata
Bronce
"Clasificación final de las Finales Mundiales del ICPC en Moscú". Finales mundiales del ICPC . Archivado desde el original el 5 de octubre de 2021 . Consultado el 16 de octubre de 2021 .
En la final mundial 2020-2021, los problemas K (Space Walls) y L (Sweep Stakes) no se resolvieron.
La Final Mundial de 2022 se celebró en Dhaka ( Bangladesh ), organizada por la Universidad de Asia Pacífico . [33]
Oro
Plata
Bronce
Fuente: [34]
Algunos ex finalistas del ICPC han logrado logros notables en la industria y la investigación del software. Incluyen a Adam D'Angelo , ex CTO de Facebook y fundador de Quora ; Nikolai Durov , cofundador de Telegram Messenger ; Matei Zaharia , el creador de Apache Spark ; Tony Hsieh , director ejecutivo de Zappos y capitalista de riesgo; Amit Sahai , reconocido profesor especializado en seguridad y criptografía; Craig Silverstein , el primer empleado de Google ; y Jakub Pachocki, científico jefe de OpenAI . [ cita necesaria ]