7. На мировом уровне выступают не только команды университетов обеих столиц, но и команды многих региональных университетов России. Это улучшает экономическую ситуацию в регионах, поскольку наличие высококвалифицированных программистов служит основой для создания там компьютерных компаний.
8. Все это привело к тому, что российские программисты (в отличие, например, от математиков) в настоящее время практически не уезжают работать за границу.
9. Отсутствие необходимости переезда в столицы и за границу в поисках достойной работы улучшает ситуацию с воспроизведением высококвалифицированных кадров. Многие из участников чемпионатов, работая в программистских фирмах, не только занимаются подготовкой своей смены, но и преподают в школах и университетах.
10. Очень непростой вопрос - как сохранить в университетах (где зарплата копеечная) "чемпионов", способных и желающих остаться на преподавательской, тренерской и научной работе. Но кадровый дефицит привел к тому, что некоторые российские фирмы берут "на содержание" чемпионов, которые остаются работать в вузе. Это позволяет им не бегать в поисках заработков, тем более что "на бегу нельзя обучать даже бегу", а зарабатывать нормальные деньги, занимаясь обучением студентов и школьников.
11. Участие в командных чемпионатах мира долгое время не рассматривалось как вид спорта. Однако в последние годы в мире стали проводиться индивидуальные соревнования по спортивному программированию, по результатам которых участники зарабатывают очки рейтинга (www.topcoder.com), а лучшие - еще и деньги. Эти соревнования проводятся как среди студентов и аспирантов, так и среди программистов вообще. В этом виде программистской деятельности всего за два-три года многие россияне добились очень высоких рейтингов, а один из них, Петр Митричев, в 2006 году выиграл три крупнейших финала международных соревнований и еще в одном занял второе место. Как вы думаете, кто его "схватил", когда он закончил университет? Вы угадали - одна из упомянутых выше фирм, которая в прошлом году была признана лучшей в мире по социальным условиям, предоставляемым своим сотрудникам.
12. В России уже несколько лет существует Всесоюзная федерация компьютерных игр. Один из университетов Томска намерен готовить специалистов по шахматам. А чем программирование хуже? Существует стройная система всероссийских (не дай бог, ее разрушат, улучшая) и международных соревнований, проведение многих из которых поддерживает государство, есть международная рейтинговая система. Если появится Федерация спортивного программирования, решится вопрос о присвоении квалификации "тренер по программированию" - возникнет новая профессия, которая со временем может стать хорошо оплачиваемой. Это отвлечет некоторое число специалистов из отрасли, зато повысит престиж программирования и охват учащихся.
13. По поводу "потемкинских деревень": как вы думаете, теннис в России или легкая атлетика в Кении имеют ту же материальную базу и охват, как в лучших университетах США? Все знают, что это не так, однако не говорят ни о каких "деревнях", а радуются успехам своих спортсменов. Разве Олимпиады и победы на них никому не нужны?
14. В области образования и науки мы уже и так отстали от многих университетов мира, неужели кому-то станет лучше, если успехов по олимпиадному программированию у нас тоже не будет? Мне кажется, это тот хвост, за который можно вытащить хотя бы одну область образования и науки. Некоторые из чемпионов стали защищать диссертации (только у меня таких трое), а после окончания университетов - оставаться работать в вузах. Программирование, в отличие от математики, "молодая наука". Кроме того, в России можно получить высокооплачиваемую работу по этой профессии. Поэтому в настоящее время лишь немногие победители олимпиад стали известными учеными (например, Илья Миронов из Microsoft Research и Марк Сандлер из Google). Но хочется надеяться, что состязания программистов приведут в науку ученых масштаба Григория Перельмана, Андрея Суслина и Юрия Матиясевича, успешно выступавших на математических олимпиадах.
15. Предлагаю срочно организовать в стране движение "Сохраним в университетах лучших". На это и денег-то много не требуется, так как в программировании людей способных и желающих преподавать, тренировать и заниматься наукой крайне мало. Однако они есть, только у нас на кафедре таких двое. Если сохраним в университетах лучших - к ним потянутся новые таланты, и мы продержимся, перешагнув через демографическую яму. Тогда появится шанс на то, что со временем мы сможем опережать ведущие университеты мира не только на чемпионатах по программированию. А иначе никак!
В Ленинграде (Санкт-Петербурге) городские олимпиады школьников по информатике начали проводиться раньше всесоюзных. Первая состоялась в 1986 году (anichkovpalace.spb.ru/olimpus/inform), а городская командная олимпиада школьников по программированию - в 1993 году. Как и у математиков, участие юных программистов в этих соревнованиях существенно влияет на их дальнейшую профессиональную жизнь. Олимпиады по программированию проходят и среди студентов. Ежегодный командный студенческий чемпионат мира по программированию проводится с 1977 года, причем курирует его авторитетная международная организация по вычислительной технике Association for Computing Machinery (ACM). В последние годы генеральным спонсором чемпионата стала корпорация IBM. Его охват глобален, сегодня в чемпионате состязаются около шести тысяч команд из почти тысячи шестисот университетов восьмидесяти с лишним стран. Российские команды программистов участвуют в полуфинальных соревнованиях студенческого чемпионата мира с 1993 года (тогда страну представляла только команда СПбГУ, а в 1994 году - команды уже трех университетов: СПбГУ, МГУ и ИТМО).
В 1995 году в Санкт-Петербурге по правилам чемпионата ACM был проведен городской командный чемпионат по программированию, который в дальнейшем был преобразован в четвертьфинал чемпионата мира.
С 1996 года в Санкт-Петербурге ежегодно стали проводиться и полуфинальные соревнования чемпионата мира, которые охватывают Северо-Восточный Европейский регион (по классификации ACM). В рамках этих соревнований проходит и чемпионат России.
Программирование как игра?
Автор: Константин Кноп
Классики (от Дональда Кнута до Дэвида Гриса и Эдсгера Дийкстры) долго спорили о том, чем же является программирование как вид человеческой деятельности - научной дисциплиной, искусством, профессией или чем-то еще. Никому из "отцов-основателей", видимо, не могло прийти в голову, что программирование станет игрой и даже видом "интеллектуального спорта". Однако именно игровое (или, если угодно, спортивное) программирование в последнее время стало одним из путей, приводящих в эту сферу самую талантливую и яркую молодежь. Причем не поодиночке, а целыми командами.
"Википедия" утверждает, что история командных чемпионатов по программированию уходит корнями в далекий 1970 год, когда в Техасском университете было проведено первое соревнование такого рода. Спустя семь лет в рамках научной конференции ACM (Association for Computer Machinery) состоялся первый международный турнир, и пошло-поехало…
Все последние годы борьба за чемпионство идет между командами из Китая, Польши и России. Причем борьба нешуточная, и разворачивается она задолго до попадания будущих чемпионов на студенческую скамью. В Китае на поддержку школьных олимпиад по программированию (впрочем, другие предметы школьной программы тоже не забыты) государство ежегодно выделяет огромные деньги. В Китае нет исторической традиции разворовывать дотации, поэтому там эти деньги реально работают.
Впрочем, и у нас дела обстоят неплохо - иначе откуда бы взяться успехам на международной арене? В 1996 году учрежден Северо-Восточный Европейский регион, проводящий свое (полуфинальное) соревнование среди студентов. На сегодняшний день он является крупнейшим в мире как по охвату территории, так и по количеству команд-участниц. Предварительные отборочные турниры проводятся в четырнадцати городах, от Минска и Еревана до Красноярска и Владивостока. Четыре раза "наши" команды становились чемпионами мира.