What is the ICPC?
The International Collegiate Programming Contest is an algorithmic programming contest, where the best brains compete annually. It’s a real Olympic Games for students and postgraduates, whose teams compete in terms of speed, creativity and innovation in solving problems.
The mission of the contest is to provide students from different universities with opportunities to interact with each other and to create a platform for industry, and academia to encourage and focus public attention on the next generation of computing professionals.
More than 50,000 student programmers from more than 3,000 universities from up to 115 countries participate in qualifying rounds each year, and only the best of them reach the finals. Participants go on to receive job offers from technology leaders or launch their own startups.
The contest traces its roots back to a student competition held at Texas A&M University in 1970. The idea quickly gained popularity within the United States and Canada, and since 1977, the contest has been held annually. In 1989, it expanded into a global network of universities. Nowadays, the ICPC championship attracts students from more than a hundred countries.
Every year the competition attracts more participants than the Olympic Games – in 2017 it was attended by 46,381 people from 103 countries, while only 11,544 athletes participated in all stages of the summer Olympics in Rio.
Russia has been participating in the championship since 1995. Over the last 20 years, Russian students have won 33 gold medals and have maintained a winning streak since 2012. Last year, students from Lomonosov Moscow State University became world champions in programming. Their team took first place in the ICPC World Finals in Porto, winning the final twice in a row with the same line-up of participants for the first time. Teams from MIPT and HSE took home bronze medals.
The ICPC World Finals has already been held in Russia twice: St. Petersburg 2013 and Ekaterinburg 2014. In 2020, it will be held in Moscow for the first time.
The competition involves university teams of three students having completed no more than 8 semesters of STEM-related, full-time university study. Each team is provided with a computer, ten or more highly complex problems and five hours to solve them.
Every contest problem is presented in a real-life scenario. ICPC World Finals problem sets have contained problems to optimize subway schedules, model air traffic control, analyze logic circuits, optimize fence placement, track robot movements, map race courses, simulate airport luggage collection, estimate oil reserves, and so on.
After reading the scenario, participants should accurately identify the main existing problem and develop algorithms to solve it. Each incorrect solution submitted is assessed a time penalty. Teams are ranked according to the most problems solved and the least total time spent.
This format of the contest is considered to be one of the most challenging: the participants are required not only to solve the problems correctly and know the algorithms perfectly but also to distribute the roles in the team competently.
ICPC World Finals supports only four languages, C/C++, Kotlin, Java and Python
The contest is a multi-tiered team competition. The universities from all over the world are all assigned to a region, where regional contests are held during the year. Meanwhile, universities often hold local competitions to choose teams that will represent them in regional contests.
The most successful teams from regional contests go to the Finals. In a regional contest, one university may be represented by several teams, but only one team from each university may enter the Finals.
This year 135 teams will participate in ICPC 2020 Moscow.
Teams are ranked according to the number of problems solved. In cases where teams solve the same number of problems, they are ranked by total time taken with the least time earning teams first place.
In consultation with the World Finals Judges, the Director of Judging is responsible for determining the winners of the World Finals. Teams finishing in the top four positions will be awarded Gold Medals. Those finishing fifth through eighth place will be awarded Silver Medals. Teams in ninth through twelfth place will receive Bronze Medals. Additional Bronze Medals may be awarded. The highest scoring team is the World Champion and will receive the World Champion Cup.
The complete set of ICPC 2020 rules can be found at https://icpc.baylor.edu/worldfinals/rules