Why the US has lost to Russia in these top coding trials for almost a decade

For the big ICPC competition, Russian teams are trained by ex-champions. But that's not the whole story.

Study compares computer-science students from four countries, US ranks top Despite starting computer-science degrees with high skills in math and science, students in China and Russia don't end up as good as their US counterparts.

It may be summer in Russia, but the country's brightest students have no time to relax.

In June next year, Moscow will host one of the most prestigious coding competitions for universities, ICPC, and one of Russia's teams hopes to win again for the country, for the 9th time in a row. Losing at home won't be an option, they say.

The International Collegiate Programming Contest (ICPC) gathers students from some of the best universities in the world. These include MIT, Stanford, Caltech, Harvard, Peking University, and Seoul National University.

SEE: How to build a successful developer career (free PDF)

Several schools from Russia will be competing: Moscow State University, which won ICPC in the past two years, and two colleges from Saint Petersburg, State University and ITMO, which won the World Finals between 2012 and 2017 on alternate years.

The rules make ICPC a highly challenging coding competition. Each team consisting of three members has to solve eight or more problems in just five hours using only one computer. The team that figures out the most problems wins.

Among ICPC's alumni are Facebook's former CTO Adam D'Angelo, Apache Spark's creator Matei Zaharia, and the CEO of Zappos, Tony Hsieh.

Although ICPC World Finals are only scheduled in June next year, the Russians are already training hard, and are coached by the country's former champions.

"Experienced mentors, who have repeatedly trained ICPC winners, can point out weaknesses and suggest what types of tasks a team should practice," Alexey Maleev, ICPC 2020 Moscow director, says.

Each member of a Russian team has a specific role. "Someone can be a mathematician, while someone else enters the code into the computer. A team can have a leader who decides whether to move on if the problem is not solved or stick to it," Maleev says.

He believes that the Russians have a good chance of winning for the ninth time next year, mainly because top Russian students excel when it comes to hard work, abstract thinking, and math skills.

And there are several reasons for that, Maleev says. First, science, technology, engineering, and math education starts at an early age.

"Elementary-school students solve many problems in which it's necessary to keep several steps in mind. The ban on calculator use in lessons and olympiads means the students have to keep a lot in their heads," he says.

Second, he argues that Russian school students are exposed to abstract concepts quite early, which promotes abstract thinking. Polynomials, for instance, are taught in middle school.

It also helps that Russian universities fully support coding competitions and go the extra mile to prepare high-performing students not only from this country, but from others as well. 

For the past eight years, the Moscow Institute of Physics and Technology has organized workshops to train students for ICPC.

"Eight-day training camps have been held in Beijing, Muscat, Vladivostok, Grodno, Barcelona, and Collam [India]," Maleev says.

"The results of training at these boot camps are impressive – 11 of the 12 winners of the 2019 ICPC finals in Porto studied with Moscow Workshops ICPC".

SEE: Six in-demand programming languages: Getting started (free PDF)

So far, about 2,200 students from 205 universities in 55 countries have taken part in these intensive courses. Those who aim for the medals solve a large number of problems while training, Maleev says.

"Students who reach the World Finals usually have solved at least 1,000 contests and about 10,000 tasks. And sometimes more."

That's why, even during the summer, Russia's brightest computer-science students keep working hard. Sometimes, they get together with the official purpose of having fun, but they end up discussing algorithms.

"Every summer, we spend time outdoors," Maleev says. "So students can communicate and discuss important topics."

46623090375-43f6625d39-b1.jpg

Next June, one of Russia's teams hopes to win the ICPC competition for the country for the 9th time in a row.

Image: Bob Smith/ICPC

More on computer science and skills