On April 19, a Russian team from Lomonosov Moscow State University won the 2018 World Champion title at the ACM International Collegiate Programming Contest (ICPC), an annual multitier, team-based programming competition that is the largest and most prestigious championship in the programming world.
Second position and another gold medal went to a Russian team from the Moscow Institute of Physics & Technology while St. Petersburg’s ITMO University and Ural Federal University took bronze placing ninth and thirteenth respectively.
Overall, Russian teams won four medals out of 13 – the largest number of any country. The competition featured 140 teams from 51 countries, including 11 teams representing Russia.
Since 2000, students from Russia have won the ICPC 13 times, and they’ve won the championship seven years in a row. From 2012 to 2017, the World Champion title has been exchanged between two teams from Russia’s cultural capital – St. Petersburg State University and ITMO University. The latter is also the world leader in the total number of championship trophies, winning the ICPC seven times!
What’s the ICPC all about?
In the competition, teams of three students need to solve eight or more (up to 12) complex problems in five hours by using one of the accepted programming languages (Java, C, C++, Kotlin and Python). Each team has only one computer, so apart from meeting the strict time limits and programming skills, contestants also need to show excellent teamwork. The winner is the team with the most number of solved problems in the least cumulative time.
“While the difficulty of tasks increases from year to year, the championship also takes into account new programming language tools as they emerge. This year the ICPC included Kotlin, a language developed by Russian programmers, which can be cited as another Russian achievement,” said Roman Elizarov, jury chairman at the regional ICPC semifinals in North Eurasia. “It was developed by a St. Petersburg company, JetBrains, and is growing in popularity around the world.”
In addition to the World Champion title, there are gold, silver, and bronze medals. The medals are distributed in the following order: teams finishing in the top four positions receive gold; teams finishing fifth through eighth place - silver; and those finishing ninth through twelfth - bronze. Additional bronze medals can also be awarded to teams solving the same number of problems as the twelfth place team - this is what happened this year.
Also, teams receive a cash prize: champions get $15,000 each; gold medalists - $7,500; silver - $6,000; bronze - $3,000. Not bad, ha?
An interesting fact: the ICPC championship gathers a record-breaking number of contestants. This year around 50,000 students from 111 countries participated, which is almost four times greater than the Olympics, which in 2016 attracted 11,544 athletes.
Secrets of success
There are a number of factors that help Russian programmers surpass the competition, said Niyaz Nigmatullin, a two-time ICPC champion (2012, 2013) and ITMO University graduate, who now teaches at ITMO and coaches school-level teams.
“The first factor is a strong tradition of mathematics that comes from the Soviet period. Second, there is a whole system and culture of programming in Russia. It all begins at school-level with many cities holding their own training camps,” he explains.
“There’s a large community of young people who share an interest in programming: they meet, socialize, train together at camps and events, participate in joint projects and compete against each other, which helps them grow fast as IT professionals. Plus, they share a very serious attitude towards training and preparation (for the ICPC). Perhaps no other country gives so much attention to training. Our guys often train up to 20 hours a week,” Nigmatullin points out.
Andrei Stankevich, a member of the ICPC North Eurasia semi-final committee and a coach of the ITMO University teams, agrees. “Our guys train harder and more systematically compared to those of other countries. During the period of preparations for important competitions our team trains two to three times a week, five hours each time in conditions that are as close to real ones as possible: 12 tasks that need to be solved in five hours,” he told Russia Beyond.
Andrei Lopatin, another two-time ICPC champion (2000, 2001) and coach of two winning teams from St. Petersburg University (2014, 2016), said in an interview with Russia Beyond that the country’s strong tradition of mathematics and a large multitier system of training IT professionals and internal competition are the most important factors that help Russia produce highly skilled professionals. This allows them not only to win championships on the student level, but also to be headhunted internationally by leading IT firms.
“Those that win championships, such as the ICPC, can adapt fast and think creatively – this is something that’s highly sought-after in today’s world,” he noted.
Lopatin won the ICPC in a team with Nikolai Durov, co-founder of VK social network and elder brother of Pavel Durov (the founder and owner of Telegram). Lopatin also worked for VK, and was head of Telegram’s development team.
There are no restrictions on foreign students joining Russia’s programming teams, even those that compete internationally. Here are 7 other reasons to study in Russia.