The team of IT students from St Petersburg University has won gold in the 41th ACM International Collegiate Programming Contest (ACM-ICPC), ranked fourth in the top four positions in the 2017 World Finals. The frontrunner is ITMO University.
The SPbU’s team (Igor Pyshkin, Stanislav Ershov and Aidar Sairanov) is one of the top teams in the world. Their coach is Andrei Lopatin, who is a twice world champion in programming. Andrei and Anna Lopatins have received Senior Coach Award as the coaches who have been bringing teams to the World Finals during fifteen or more years. SPbU, with its coach Andrei Lopatin, has won 8 medals (2006, 2008, 2009, 2010, 2011, 2014 and 2016), in 2011 it became Europe champion, and in 2014 and 2016 world champion.
Interestingly, during the next three years the contest will be sponsored by JetBrains from St Petersburg. In collaboration with SPbU’s graduates, it has been developing a statically typed programming language Kotlin, and Google is adding Kotlin as an official programming language for Android development. What is more is that the World Finals programming language tools is going to include Kotlin as an official language of the ICM-ICPC, on a par with Java.
The 2017 World Finals were held in Rapid City, South Dakota (United States), with 13 teams from Russia; among them is SPbU, ITMO, MIPT, MSU, Ural Federal University and others.
Each team, according to the team requirements, must comprise three members, a computer and a set of programming problems. The contest is scheduled for typically 5 hours. The current rules stipulate that the teams must submit their solutions as programmes in one of the programming languages to accept by the programming contest judges. 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.
To get to the World Finals the teams must win semi-final and quarter-final qualification rounds and a number of contests at the universities. So those who are in the World Finals are the best.
The first team contest on programming was held by the Association for Computing Machinery in the University of Taxes in 1970. In 1977, the championship became a multi-tiered competitive programming competition among the universities of the world, as it is now, when its first finals were held at the ACM’s annual conference.