ACM International Collegiate Programming Contest
ACM International Collegiate Programming Contest (abbreviated as ACM-ICPC or just ICPC) is an annual multi-tiered competitive programming competition among the universities of the world. The contest is sponsored by IBM. Headquartered at Baylor University, with autonomous regions on six continents, the ICPC is directed by Baylor Professor William B. Poucher, Executive Director, and operates under the auspices of the Association for Computing Machinery (ACM).
- 1 History
- 2 Contest rules
- 3 2004-2015 Finals
- 4 Winners
- 5 Medal count (since 2011)
- 6 Renowned participants
- 7 See also
- 8 References
- 9 External links
The ACM international Collegiate Programming Contest, ICPC, traces its roots to a competition held at Texas A&M University in 1970 hosted by the Alpha Chapter of the Upsilon Pi Epsilon Computer Science Honor Society (UPE). This initial programming competition was titled First Annual Texas Collegiate Programming Championship and each University was represented by a team of up to 4 members. The computer used was a 360 model 65 which was one of the first machines with a DAT (Dynamic Address Translator aka "paging") system for accessing memory. The start of the competition was delayed for about 90 minutes because 2 of the 4 "memory bank" amplifiers were down. Teams that participated included, Texas A&M, Texas Tech, University of Houston, and 5 or 6 other Texas University / Colleges. There were 3 problems that had to be completed and the cumulative time from "start" to "successful completion" determined 1st, 2nd, and 3rd place winners. The programming language used was Fortran. The programs were written on coding sheets, keypunched on Hollerith cards, and submitted for execution. The University of Houston team won the competition completing all three problems successfully with time. The second and third place teams did not successfully complete all 3 three problems.  The contest evolved into its present form as a multi-tier competition in 1977, with the first finals held in conjunction with the ACM Computer Science Conference.
From 1977 to 1989, the contest included mainly teams from U.S. and Canada. Headquartered at Baylor University since 1989, with regionals established within the world's university community, operating under the auspices of ACM, and with substantial industry support, the ICPC has grown into a worldwide competition with teams from 84 countries in 2005.
Since the beginning of IBM's sponsorship in 1997, contest participation has grown enormously. In 1997, 840 teams from 560 universities participated. In 2007, 6,700 teams from 1,821 universities participated. The number of teams has increased by 10-20% every year.
The World Finals of the ACM International Collegiate Programming Contest World Finals, ACM-ICPC World Finals, is the final round of competition. Over its history it has become a 4-day event held in the finest venues worldwide. UPE recognizes all of the regional champions at the event. Recent World Champion teams have been recognized by their country's head of state and at the annual ACM Awards Ceremony.
The ICPC is a team competition. Current rules stipulate that each team consist of three students. Participants must be university students, who have had less than five years of university education before the contest. Students who have previously competed in two World Finals or five regional competitions are ineligible to compete again.
During contest, the teams are given 5 hours to solve between 8 and 12 programming problems (with 8 typical for regionals and 10 for finals). They must submit solutions as programs in C, C++, or Java. Programs are then run on test data. If a program fails to give a correct answer, the team is notified and can submit another program.
The winner is the team which correctly solves most problems. If necessary to rank teams for medals or prizes among tying teams, the placement of teams is determined by the sum of the elapsed times at each point that they submitted correct solutions plus 20 minutes for each rejected submission of a problem ultimately solved.
For example, consider a situation when two teams, Red and Blue, tie by solving two problems each. The team Red submitted their solutions to A and B at 1:00 and 2:45 after the beginning of the contest. They had a rejected run on C, but it was ignored since they didn't solve C. The team Blue submitted solutions to problems A and C at 1:20 and 2:00 after the beginning. They had one rejected run on C. Then, the total time is 1:00+2:45=3:45 for team Red and 1:20+2:00+0:20=3:40 for team Blue. The tie is broken in favor of Team Blue.
Compared to other programming contests (for example, International Olympiad in Informatics), the ICPC is characterized by a large number of problems (8 or more problems in just 5 hours). Another feature is that each team can use only one computer, although teams have three students. This makes the time pressure even greater. Good teamwork and ability to withstand pressure is needed to win.
2004 World Finals
The 2004 ACM-ICPC World Finals were hosted at the Obecni Dum, Prague, by Czech Technical University in Prague. 3,150 teams representing 1,411 universities from 75 countries competed in elimination rounds, with 73 of those teams proceeding to the world finals. St. Petersburg Institute of Fine Mechanics and Optics from Russia won, solving 7 of 10 problems. Gold medalists were St. Petersburg Institute of Fine Mechanics and Optics, KTH - Royal Institute of Technology (Sweden), Belarusian State University, and Perm State University (Russia).
2005 World Finals
The 2005 world finals were held at Pudong Shangri-La Hotel in Shanghai on April 6, 2005, hosted by Shanghai Jiaotong University. 4,109 teams representing 1,582 universities from 71 countries competed in elimination rounds, with 78 of those teams proceeding to the world finals. Shanghai Jiaotong University won its second world title, with 8 of 10 problems solved. Gold medal winners were Shanghai Jiaotong, Moscow State University, St. Petersburg Institute of Fine Mechanics and Optics (Russia), and University of Waterloo (Canada).
2006 World Finals
The 2006 ACM-ICPC World Finals were held in San Antonio, Texas, and hosted by Baylor University. 5,606 teams representing 1,733 universities from 84 countries competed in elimination rounds, with 83 of those teams proceeding to the world finals. Saratov State University from Russia won, solving 6 of 10 problems. Gold medal winners were Saratov, Jagiellonian University (Poland), Altai State Technical University (Russia), University of Twente (The Netherlands).
2007 World Finals
The 2007 ACM-ICPC World Finals were held at the Tokyo Bay Hilton, in Tokyo, Japan, March 12–16, 2007. The World Finals was hosted by the ACM Japan Chapter and the IBM Tokyo Research Lab. Some 6,099 teams competed on six continents at the regional level. Eighty-eight teams advanced to the World Finals. Warsaw University won its second world championship, solving 8 of 10 problems. Gold Medal Winners were Warsaw University, Tsinghua University (China), St. Petersburg Institute of Fine Mechanics and Optics (Russia), and the Massachusetts Institute of Technology (United States).
2008 World Finals
The 2008 ACM-ICPC World Finals were held at the Fairmont Banff Springs Hotel, in Banff, Alberta, Canada, April 6–10, 2008. The World Finals was hosted by the University of Alberta. There were 100 teams in the World finals, out of 6700 total teams competing in the earlier rounds. The St. Petersburg Institute of Fine Mechanics and Optics won their second world championship. Massachusetts Institute of Technology, Izhevsk State Technical University, and Lviv National University also received gold medals.
2009 World Finals
The 2009 ACM-ICPC World Finals were held in Stockholm, Sweden, April 18–22, at the campus of the hosting institution, KTH - The Royal Institute of Technology, as well as at the Grand Hotel, the Radisson Strand, and the Diplomat Hotel. There were 100 teams from over 200 regional sites competing for the World Championship. The St. Petersburg Institute of Fine Mechanics and Optics defended their title, winning their third world championship. Tsinghua University, St. Petersburg State University, and Saratov State University also received gold medals. The 2009 World Finals pioneered live video broadcasting of the entire contest, featuring elements such as expert commentary, live feeds of teams and their computer screens and interviews with judges, coaches and dignitaries. The event was broadcast online, as well as by Swedish television channel Axess TV.
2010 World Finals
The 2010 ACM-ICPC World Finals were held in Harbin, China. The host is Harbin Engineering University. Shanghai Jiao Tong University won the world championship. Moscow State University, National Taiwan University, and Taras Shevchenko Kiev National University also received gold medals.
2011 World Finals
The 2011 ACM-ICPC World Finals were held in Orlando, Florida and hosted by main sponsor IBM. The contest was initially scheduled to be held in Sharm el-Sheikh, Egypt in February, but was moved due to the political instability associated with the Arab Spring. Zhejiang University took first place with the University of Michigan at Ann Arbor, Tsinghua University, and Saint Petersburg State University taking 2nd, 3rd, and 4th respectively each receiving gold medals. China(2G) United States(1G) Russia(1G,2S,2B) Germany(1S) Ukraine(1S) Poland(1B) Canada(1B)
2012 World Finals
The 2012 World Finals were held in Warsaw, Poland. They were inaugurated on 15 May and are hosted by University of Warsaw. St. Petersburg Institute of Fine Mechanics and Optics won their fourth world championship, the most by any University at the time. University of Warsaw, Moscow Institute of Physics and Technology, and Shanghai Jiao Tong University took 2nd, 3rd, and 4th place respectively each receiving gold medals. Russia(2G,1B) China(1G,1S) Poland(1G) United States(1S) Hong Kong(1S) Belarus(1S,1B) Canada(1B) Japan(1B)
2013 World Finals
The 2013 World Finals were held in Saint Petersburg, Russia. They were inaugurated on 3 July and were hosted by NRU ITMO.
2013 top thirteen teams that received medals are:
Japan(1G) Russia(1G,1S,2B) China(1G,1B) Taiwan(1G) Poland(1S,1B) Ukraine(1S) Belarus(1S) United States(1B)
- Saint Petersburg State University of Information Technologies, Mechanics and Optics (GOLD, WORLD CHAMPION),
- Shanghai Jiao Tong University (GOLD, 2nd Place),
- The University of Tokyo (GOLD, 3rd Place),
- National Taiwan University (GOLD, 4th Place),
- St. Petersburg State University(SILVER, 5th Place),
- University of Warsaw (SILVER, 6th Place),
- Taras Shevchenko National University of Kyiv (SILVER, 7th Place),
- Belarusian State University (SILVER, 8th Place),
- Jagiellonian University in Krakow (BRONZE, 9th Place),
- Moscow State University (BRONZE, 10th Place),
- Carnegie Mellon University (BRONZE, 11th Place),
- Tsinghua University (BRONZE, 12th Place),
- Perm State University (BRONZE, 13th Place).
2014 World Finals
The 2014 World Finals were held in Ekaterinburg, Russia on June 21-25, hosted by Ural Federal University. Final competition was held on 25 June. 122 teams participated in the competition and St. Petersburg State University became the world champion. 
Following teams were awarded medals in ICPC 2014 
Russia(2G,2B) China(1G,1S,1B) Taiwan(1G) Japan(1S) Poland(1S) Croatia(1S) Slovakia(1B)
- St. Petersburg State University
- Moscow State University
- Peking University
- National Taiwan University
- University of Warsaw
- Shanghai Jiao Tong University
- The University of Tokyo
- University of Zagreb
- St. Petersburg National Research University of IT, Mechanics and Optics
- National Research University Higher School of Economics
- Tsinghua University
- Comenius University
2015 World Finals
The 2015 World Finals were held in Marrakesh (Morocco) during May 16-21, hosted by Mohammed the Fifth University, Al Akhawayn University and Mundiapolis University. Final competition was on May 20th. 128 teams competed to be World Champion. Winner was Saint Petersburg ITMO, solving all the proposed problems (13) for the first time ever. Russia (2G), China (1G, 1B, 1S), Japan (1G), United States (1B, 1S), Croatia (1S), Czech Republic (1S), Korea (1B), Poland (1B).
2016 World Finals
|6||Russia||Saint Petersburg State University of Information Technologies, Mechanics and Optics||2015|
|3||Russia||Saint Petersburg State University||2014|
|3||China||Shanghai Jiao Tong University||2010|
|3||United States||Stanford University||1991|
|2||Poland||University of Warsaw||2007|
|2||Canada||University of Waterloo||1999|
|2||United States||California Institute of Technology||1988|
|2||United States||Washington University in St. Louis||1980|
|Winner||Country||Most Recent Win||No.of Yrs Participated|
Medal count (since 2011)
|Country||Gold||Silver||Bronze||Total||Most Recent Institution(Gold)||Most Recent Year(Gold)|
|Russia||8||3||7||18||ITMO & MSU||2015|
|Japan||2||1||1||4||The University of Tokyo||2015|
|Taiwan||2||2||National Taiwan University||2014|
|Poland||1||2||3||6||University of Warsaw||2012|
|United States||1||2||2||5||University of Michigan||2011|
Some former ACM ICPC finalists have made remarkable achievements in the software industry and research. They include Adam D'Angelo, the former CTO of Facebook and founder of Quora, Nikolai Durov, the former CTO of vk.com, Matei Zaharia, creator of Apache Spark, Tony Hsieh, CEO of Zappos and a venture capitalist, Craig Silverstein, the first employee of Google.
- Competitive programming, a type of mind sport involved in programming competitions
- Online judge, a service to practice for programming contests and run them online
- PC², the Programming Contest Control System in support of Computer Programming Contest activities (used at ICPC World Finals until 2008)
- I was a member of the University of Houston team.
- "Information - ACM International Collegiate Programming Contest". Archived from the original on 16 June 2008. Retrieved 2008-06-10.
- "2008 ICPC Regionals Eligibility Decision Diagram" (PDF). Retrieved 2008-06-10.
- "Queen's grabs glory: more than 70 teams from 31 countries gathered for the International Collegiate Programming Contest in Prague, hosted by the Association of Computing Machinery. Canadian universities took top honours.". Computing Canada. 2004-04-23. Retrieved 2008-06-09.
- The 2004 ACM Programming Contest World Finals at the Wayback Machine (archived November 20, 2005) Retrieved on 2013-07-30.
- Sullivan, Laurie (2006-04-05). "Computing Students To Test Math, Programming Prowess". Information Week. Retrieved 2008-06-09.
- "A Red Flag In The Brain Game". Business Week. 2006-05-01. Retrieved 2008-06-09.
- "IBM and Association for Computing Machinery Announce Global "Battle of the Brains" Software Competition". 2007-09-12. Retrieved 2008-06-09.
- "ICPC 2008 World Finals Results". 2009-04-01. Retrieved 2009-04-13.
- "ICPC 2009 World Finals Results". 2009-04-21. Retrieved 2009-04-22.
- "Students from St. Petersburg won the IBM sponsored contest ACM-ICPC". 2009-04-21. Archived from the original on 30 May 2009. Retrieved 2009-06-23.
- "ICPC 2011 World Finals Results". 2011-05-30.
- (Polish) Wiadomości - Gazeta.pl. Wiadomosci.gazeta.pl. Retrieved on 2013-07-30.
- "ICPC ACM ICPC 2013 World Finals Results". 2013-07-15.
- "ICPC Results of the 2013 ACM International Collegiate Programming Contest". 2013-07-08.
- icpc 2014 schedule, from icpc 2014 official website
- icpc 2014 result, from mirror website
- Official Website of the ACM-ICPC - maintained at Baylor University.
- ACM-ICPC Live Archive - maintained at Baylor University.
- ACMSolver - The ACM-ICPC Tutorial Site - maintained by Ahmed Shamsul Arefin 
- Igor's UVa - maintained by Igor Naverniouk 
- Andrian Kurniady's ICPC event blog - maintained by Andrian Kurniady
- Codeforces blogs
- Algorithmist - maintained by Algorithmist Team
- Steven Halim's Method to solve ACM UVa OJ Problems - maintained by Steven Halim
- The Stony Brook Algorithm Repository - maintained by Steven Skiena.
- Programming Challenges - maintained by Miguel Revilla
- Light Online Judge - maintained by Jane Alam Jan
- UVa Online Judge Board - maintained by Universidad de Valladolid Online Judge
- Caribbean training platform - maintained by the COJ Development Team (CDEVT)
- CodeChef - maintained by Directi Group
- Competitive Programming Network - RPC - Maintained by the Competitive Programming Newtork team (RPC)
- CCPL - maintained by Colombian Collegiate Programming League and powered by