Coding for top prize

On May 18, the final stage of the world championship in student software design took place in Warsaw, Poland. For the fourth year in a row, students from the St. Petersburg National Research University for Information Technologies, Optics and Mechanics took the first prize.

Maria Isaeva of Russky Reporter talked with team captain Evgeny Kapun about what it feels like to be the best in the world.

Russky Reporter: How did the competition go?

Evgeny Kapun: This year, the world championship in software design took place in Warsaw. The 112 best teams from all over the world participated in it after taking medal places in semifinals. It looked really impressive. The competition was held in a spacious hall with lots of desktop computers and participants behind them. We had to solve a set of problems within five hours. This time there were 12 tasks. All the problems were rather hard – so hard, in fact, that an untrained person would probably not solve any of them in less than 24 hours. Ideally, we were supposed to solve all 12 tasks in only five hours, which almost never happens. Even though we solved nine out of 12 problems, our team took the first place.

The solution to a given problem is to write a program. For instance, we had to arrange emergency stations around a city in such a way as to allow ambulance cars to reach any of them from any place within minimal time. That said, the exact road patterns and station locations were unknown to the participants. The program had to give the right answer regardless of potential problem specifications. That’s how the testing went: The jury prepared specifications and ran the participants’ programs with them. The solution was supposed to come up quickly, in a second or two, and display the right answer. A mistake could be identified in under a minute, and that’s why participants had a chance to adjust their solutions. However, each of those test runs incurred a penalty of 20 minutes, which could have had a significant effect on the end result. That is why it was important not only to finish fast, but to come up with a high-quality solution.

RR: How do you work in a team? Do you assign specific roles to each member?

E.K.: It depends. Sometimes participants each choose a problem, and sometimes we set out to solve one problem together. However, it usually happens near the end because that’s when we tackle the really hard problems that are difficult to crack on your own. Meanwhile, it’s crucial to allocate responsibilities rationally since there’s only one computer and, therefore, only one team member can actually type in the solution. If at any given moment there’s no solution to a single problem, and the computer stands idle, it’s almost a tragedy because precious time is lost.

RR: What do you think played the key role in your preparation for the competition? Was it the training sessions at the university, self-study or the coach’s experience?

E.K.: All of them are connected. Andrei Stankevich has long been training our teams. This is a conveyor-belt process. Our institute has over a dozen teams participating in training sessions on a regular basis. The trainings are held twice a week and last as long as the actual competition does, that is, five hours. In fact, in order to make a training session resemble a competition, we need nothing but computers.

RR: What team do you think was the strongest of your competitors?

E.K.: Our main rivals are first of all the Chinese. They have strong performances and different teams every time. We only face them at the finals, which is why it was impossible to determine their team line-up this year. In addition, Warsaw University presented quite a strong team. China demonstrated weaker than expected results this time, and their team took only the fourth place. Warsaw University was snapping at our heels though and, as a result, took the second prize.

RR: What’s your opinion about the educational perspectives in the sphere of IT technologies in Russia?

E.K.: Unfortunately, the number of people willing to demonstrate good results in this sphere is negligibly small. For some reason, youngsters don’t want to go into software engineering. There are lots of universities, but not enough people in them. For this reason, universities that are able to lure the most promising and talented kids stand out and, in fact, do get them in the end. If more people knew about competitions like this and took a shot at some of them, we’d probably find more gifted kids. Now, many of them fail to develop their abilities and simply go to work in other spheres.

RR: Do you think software engineering schools in Russia differ a lot from those abroad?

E.K.: To tell the truth, I don’t have any experience interacting with foreign schools, and I haven’t seen how they teach their students. Nevertheless, judging by other European teams, there are many very strong schools with competent teams, like in Poland. In other places, however, there aren’t as many of them because students there aren’t as interested and prefer to work in other spheres. In the meantime those who stay just don’t cut it.

According to the statistics, other European countries, even highly developed ones, have very few teams participating in contests and championships. That’s why they fail to demonstrate good results.

RR: How will our lives change thanks to IT technologies in the near future?

E.K.: I believe that information technologies, if applied sensibly, can really make life easier in the future. In fact, that’s what is already going on. We take it for granted that we can do anything we want using a smartphone in our pockets, like checking out a route to the destination we need or look up movie schedules in a theater. I think in the near future we won’t even have to obtain and carry along any documents. Everyone will have an electronic chip with all the information already encoded in it. All you will need to do is swipe it over the scanner and that’s it.

First published in the Russky Reporter magazine.

All rights reserved by Rossiyskaya Gazeta.