The team of St. Petersburg State University
Competitions Collegiate Programming held this year, after a long delay: the end of May instead of the beginning of March. The organizers, Association for Computing Machinery (ACM) and is traditionally supportive competition IBM, planned to hold events in Cairo and in the winter when there is unrest began — in Sharm el-Sheikh. Final ACM-ICPC (ICPC — International Collegiate Programming Contest) held in Orlando.
In ICPC finals are played on the first four (gold), second (silver) and third (bronze) place. The current final in Orlando for a Russian team finished in much the same way as the final Harbin five medals, one of which — the gold. Among the winners of the St. Petersburg State University (Gold), Nizhny Novgorod State University, Saratov State University (both — silver), Moscow State University and Ural State University (both — bronze).
On the ICPC and its rules
In our time, the programmer profession has become less romantic. Application development is often reduced to the drawing, in the literal sense, user interface and then automatically generate code. However, programming remains a fascinating case: the programmer gets results almost solely by the power of the imagination, it is, in particular, is not bound to be manufactured "in the metal" prototypes designed product. No other engineering specialty as opportunities for creativity can provide. The ability to use the power of imagination to program solutions puzzling problems — students compete at the ICPC.
Here is an example of a tournament setting («problem», in the terminology ICPC) — «the task of choosing the capital." Inlet — Cartesian coordinates of several points in the plane ("urban"). The team should develop a program that will show the coordinates of "capital" — the point, the sum of distances between each "city" will be minimal. Solution, that is debugged program is checked for the organizers prepared a set of test data. The result locks the computer, without the participation of judges. Organizers are only the order of the competition — for example, the fact that the team during the tournament, did not communicate with the coach.
The team, consisting of three, received an envelope with 10 tasks, the computer (which is nothing but basic tools and compilers for debugging programs is not installed), and five hours of time. Objective — how to solve many problems. In case of equal number of solved problems winner is determined by the number of unsuccessful attempts to pass the task, the time of the debugged program and other rules are quite complex consists of several pages, but well formalized.
In teams the division of labor: some algoritmiziruet someone codes and debug. Algoritmist, sometimes without ever touching the keyboard for all five hours of the match — a team wins (as it was in 2009 in Stockholm).
Entertainment in the ICPC bit. Hall, computers, every three students. Front of a computer tablet with the name of the university. Correctly solved problem for the team bring the ball of color — it depends on the number of solved problems. The one who has overcome the first problem, bring the two spheres — such a rule is applied for the first time in 2010. That’s all.
But what is happening to those skilled in the competition is full of meaning. Here is our team stumbled on a simple task, their time — rather than to throw it, and consider the following. Here is the Chinese "on the flag" for 10 minutes to Deline, sent a mission to test — which means it can get around our own, which until that equation to solve problems, but the worst of additional factors need to wait for the results of test solutions, and this procedure may be delayed.
The one who did not program yourself, appreciate the fact that manage to do five hours programmers athletes, it is impossible. "Normal", ie, with a good mathematical background and analytical skills, a programmer for each of the 10 tasks you need at the best two or three hours. Teams in the finals ICPC sometimes decide on eight tasks.
SSU is the elite of ICPC, his third consecutive year students take a medal in the final of the World Cup. In Saratov, while practicing a dozen teams. And in Chinese universities that the final ICPC and do not reach — not less than one hundred. The fact that in Harbin, in Orlando Chinese have taken the absolute primacy — not an accident. The trend towards increasing Chinese teams the last two years can be traced very clearly.
Vladimir Parfenov, Dean of the Faculty of Information Technology and Software Engineering, St. Petersburg State University of Information Technologies, Mechanics and Optics, said: "We already have all that you can. We are looking for talented kids across the country are competing for them with other universities. Our situation is not comparable to that in which there are Chinese universities — they have no problems with the kids. "
Sports programming — activities compared with programming industrial quite different. But in the industry, and universities participating in the ICPC the same problem: staffing. "This year, the university received 720 million children, almost half as much as six years ago. Industry simply have nowhere to specialists, "- said the director of the company" 1C "(the country’s largest producer and marketer of software) Boris Nuraliev.
The legend about the great potential
For this reason alone (there are others) the idea that Russia, whose students with the same success and impressive win medals in the finals of the ICPC, can make a full competition in India (which, by the most conservative estimates, software exports by more than $ 30 billion annually) in the global software market — is deeply flawed. Software exports from Russia reached almost $ 3 billion, and, as acknowledged by Valentin Makarov, president of the non-commercial partnership "Russoft" uniting Russian exporters of software, has no chance to get closer to the Indian.
But neither the Indians nor the Chinese are not yet able to compete with us in some parts of the world software market, and this is also true. Where required an extraordinary ability to solve extremely complex, not touched by anyone before the tasks our specialists work. Software development centers in Russia is, in particular, Intel, EMC and other transnational IT-companies. The most striking, perhaps, an example — of Parallels, a provider of virtualization. Its President Birger Steen (formerly headed Micirosoft in Russia and was vice president of Microsoft) explicitly states that the development center in Russia for Parallels — the need, nowhere more so many programmers unique skills that can do what is necessary to us, no.
Victory of our students to ICPC — no less (and more likely — much more) significant and important occasion for national pride than winning hockey or football team, on which the future of the country depends too much. But overestimate the importance of success in the ICPC is not necessary. One can cite the example of American higher education: a country with the world’s software industry and is the world’s largest market for software products, acts in the finals at ICPC and confident, but much smaller than the Russian universit
ies. It seems that by the ICPC at Stanford and MIT are treated as a form of student initiative. In any case, the president of the United States winning the White House does not accept. But government support for the American software industry is pervasive and comprehensive — with the obvious result of the world.