The 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 5 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 of four from universities throughout the United States 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. To increase access to the World Finals, teams were reduced to 3 students within their first five academic years.
Since the beginning of IBM's sponsorship in 1997, contest participation has grown by 1600%. In 1997, 840 teams from 560 universities participated. In 2015, 40,266 students from 2,736 universities in 102 countries on six continents participated in regional competitions. As a highly localized extra-curricular university mind sport, operating as a globally-coordinated unregistered association under auspicing and hosting agreements with ACM, host universities and non-profits, the ICPC is open to qualified teams from every university in the world.
The ACM-ICPC World Finals (The Annual World Finals of the ACM International Collegiate Programming Contest World Finals) is the final round of competition. Over its history it has become a 4-day event held in the finest venues worldwide with 128 teams competing in the 2016 World Finals. 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. Past ICPC alumni populate much of the high tech information technology industry worldwide.
ICPC contests are team competitions. 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 each contest, the teams of three are given 5 hours to solve between 8 and 15 programming problems (with 8 typical for regionals and 12 for finals). They must submit solutions as programs in C, C++, Java or Python (although it is not guaranteed every problem is solvable in Python). 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.
In 2016 world final, Polygonal Puzzle was the problem which was not been solved.
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).
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).
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).
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). Silver Medal Winners include Shanghai Jiao Tong University (China) and 3 other universities.
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.
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.
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.
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)
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)
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).
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)
GoldSt. Petersburg State University
Moscow State University
National Taiwan University
SilverUniversity of Warsaw
Shanghai Jiao Tong University
The University of Tokyo
University of Zagreb
BronzeSt. Petersburg National Research University of IT, Mechanics and Optics
National Research University Higher School of Economics
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 20. 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).
The 2016 World Finals were held in Phuket (Thailand) during May 16–21. Final competition was on May 19. 128 teams competed to be World Champion. Winner was Saint Petersburg State University solving 11 problems from 13 proposed problems. Second winner was Shanghai Jiao Tong University 7 minutes behind SpSU, also with 11 problems solved.
The 2017 World Finals will most likely be held in Rapid City, South Dakota (United States), hosted by South Dakota School of Mines and Technology.
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.