По этим вопросам высказываются, условно говоря, от высшей школы - Анатолий Шалыто (завкафедрой СПбГУ ИТМО), от средней школы - Виталий Арнольд (московская гимназия N1543), от индустрии программирования - Андрей Терехов (Microsoft). Тренер белорусских школьников Михаил Долинский беседует со знатоком олимпиадной тематики Константином Кнопом. От вышеназванных опасений все эти эксперты не оставляют и камня на камне. Читателю остается прочитать - и составить собственное мнение.
Хорошо, что у нас все хорошо - Фраза из знаменитого фильма Стенли Кубрика "Доктор Стрейнджлав".
Зачем нам чемпионы по программированию?
Автор: Анатолий Шалыто
Олимпиады школьников по математике проходят в нашей стране с 1934 года, когда в Ленинграде состоялась первая из них. Для многих школьников, особенно победителей олимпиад высокого уровня, участие в этих состязаниях определило выбор профессии.
Начиная с 1988 года ежегодно проводится Всесоюзная (в настоящее время - Всероссийская) олимпиада школьников по информатике, а с 2000 года - Всероссийская командная олимпиада школьников по программированию.
Подробнее об этих и других олимпиадах см. врезку. Успехи российских команд на таких соревнованиях - выдающиеся.
Четырежды команды российских университетов были чемпионами мира и не раз занимали другие призовые места. Эти успехи были неоднократно отмечены на государственном уровне (is.ifmo.ru/belletristic/medved).
Если достижения наших соотечественников на школьных олимпиадах практически ни у кого не вызывают раздражения, как говорится, "чем бы дитя ни тешилось, лишь бы не плакало", то после побед на студенческих чемпионатах все чаще приходится слышать отрицательные мнения об этих соревнованиях, принижающие важность этих успехов. Одни считают, что это соревнования в области решения головоломок студентами младших курсов, другие - что это "потемкинские деревни", создаваемые несколькими вундеркиндами, при плохом состоянии образования в нашей стране, и т. д.
В чем причина таких оценок? Возможны три варианта. Первый - у каждого может быть своя точка зрения (и тогда спорить бесполезно). Второй - зависть коллег по "цеху", которым не удается добиться успехов в этих соревнованиях. Третий вариант - непонимание сути дела. Применительно к последнему случаю изложу свою позицию.
1. Решение задач на олимпиадах по программированию основано на хорошем знании алгоритмов для задач дискретной математики и других разделов математики (например, геометрии). Люди, которые могут в составе команды из трех человек за пять часов на тренировке решить семь задач, а затем (после часового перерыва) за то же время еще восемь задач, участвуя в интернет-соревновании с сильнейшими командами мира, - несомненно, обладают незаурядными способностями. Понаблюдав однажды за такими соревнованиями, я понял, что эти высококвалифицированные специалисты должны называться не "программистами", а "решателями задач", так как они никогда не будут писать программы по чужим алгоритмам. Природные способности, хорошее образование (включая фундаментальную составляющую) и упорные многолетние тренировки позволяют им не бояться задач в новых для себя областях, быстро ориентироваться в них и практически всегда успешно их решать.
2. Существует очень мало видов человеческой деятельности, в которых представители России побеждают на мировом уровне. Поэтому каждая такая победа (при наличии соответствующей информации о ней) повышает оптимизм в обществе, что особенно важно для воспитания молодежи и привлечения ее в нашу профессию. Первые крупные успехи российских студентов из СПбГУ и СПбГУ ИТМО в финалах чемпионата мира по программированию пришлись на 1998, 1999 и 2000 годы, когда "в активе" России были дефолт 1998 года, нефть по 10 долларов за баррель и страна на грани развала. В этих "замечательных" имиджевых условиях первые российские компании-разработчики ПО начали свой поход на мировой рынок. И в то время студенческие победы на чемпионатах были весьма существенным и чуть ли не единственным аргументом в переговорах с зарубежными заказчиками.