«У нас классическая для регионов проблема — самые талантливые дети уезжают в Москву»
«Когда я только начал заниматься, у нас была одна команда, а в прошлом году мы зарегистрировали 62 команды от Нижнего Новгорода на квалификацию на Чемпионат мира»
В 2021 году нижегородская команда по олимпиадному программированию обошла в турнирной таблице Гарвард, Кембридж и MIT. При этом в 2011 году в Нижнем Новгороде о существовании такой дисциплины знали единицы. С тех пор олимпиадное движение стало кузницей кадров для IT-отрасли, вовлекая в программирование школьников и студентов и заявляя о себе на Чемпионате мира.
О зарождении олимпиадного движения, воспитании чемпионов мира и перспективах нижегородского IT «Деловой квартал» NN.DK.RU расспросил Алексея Шмелёва — тренера по олимпиадному программированию и серебряного призера ICPС-2011.
Как вы оказались в олимпиадном движении?
— Я сначала был участником олимпиад. Со школы мне нравилось участвовать в олимпиадах, но не по программированию, я больше математикой занимался. А в вузе, на втором курсе, друг рассказал мне про олимпиады по программированию. Они были лучше организованы, чем все другие, потому что в силу особенностей проведения их легче организовать. Соответственно, очень активно этим занимался, участвовал в Чемпионате мира ICPC, в том числе, наша команда выходила в финал.
В 2011 году мы получили серебряную медаль на финале Чемпионата мира — первая медаль в истории ННГУ им. Лобачевского и Нижегородской области.
А потом, после окончания вуза, когда уже нельзя было участвовать в Чемпионате мира (там есть ограничения по количеству участников и возрасту), я продолжил участвовать в менее популярных соревнованиях, в частности, где нет возрастных ограничений. И с 2013 года я начал вести занятия на базе лицея №165, потому что тренер нашей команды — человек, который внес наибольший вклад в развитие олимпиадного движения по информатике в Нижнем Новгороде — скончался в том же году. И меня попросили на базе этой школы проводить занятия, а еще через год ко мне обратились из университета, чтобы там тоже были занятия по олимпиадному программированию.
Кто организует олимпиады?
— Есть олимпиады, которые проводит Министерство образования, по всем предметам они есть, в том числе для студентов, но они менее популярны, так как в плане организации выделяется не очень много ресурсов. Университетам, как научным организациям, менее интересно их проводить, чем в школах. Большинство олимпиад проводят различные организации на спонсорские средства.
Например, долгое время у Чемпионата мира главным спонсором была ACM (Association for Computing Machinery) — одна из самых известных организаций в области computer science. Когда-то спонсором была IBM, до них была Microsoft. Сейчас главные спонсоры это Huawei и JetBrains. ICPC – это в целом отдельная организация, у которой есть исполнительный директор и так далее.
В Чемпионате есть квалификационные этапы — сначала по регионам, потом четвертьфинал, полуфинал и финал. Для участников это относительно бесплатно — ни на каком этапе не надо платить взносы, только чтобы добраться до места проведения нужны какие-то финансы, но сама организация за счет спонсоров.
Фото: government.ru
Вы и сами занимаетесь поиском спонсоров для городской олимпиады?
— Наша городская олимпиада проводится много лет. Она теперь названа в честь того тренера, который умер в 2013 году, — Владимира Денисовича Лелюха. Последние несколько лет там были достаточно неплохие призы, потому что находились спонсоры.
Что нужно сделать, чтобы победить на Чемпионате мира?
— Надо собрать самую сильную команду. В Чемпионате мира на каждом этапе командам даются несколько задач, и на каждую задачу нужно написать программу, которая правильно будет работать и на каждый возможный вариант входных данных будет выдавать правильный ответ. Соответственно, кто больше таких задач решит, тот и выше. Обычно их порядка 12, на их решение дается 5 часов, дается компьютер на команду из трех человек.
Тут не на словах, а на деле нужно уметь работать в команде, потому что компьютер один на всех, нужно эффективно им пользоваться. Кто больше решит — тот и выше, а при равенстве количества решенных задач учитывается, кто был быстрее. На ICPC-2020, где победила наша команда, сначала ребята решали задачи медленнее, но решили на 1 задачу больше всех остальных команд.
Какие призы?
— Формально там выдают около 5 тысяч долларов на человека, но это не сопоставимо с теми усилиями, которые нужны для того, чтобы добиться победы — это десятки тысяч часов тренировок.
Фото: из личного архива Алексея Шмелёва
Какого возраста ребята участвуют в городской олимпиаде?
— Не помню точно, что написано в правилах, но попадают все, кто прошел отбор. У нас есть четвероклассник, который успешно прошел отбор наравне с одиннадцатиклассниками и сейчас он призер всероссийской олимпиады. Есть занятия на базе ННГУ, там есть начинающие и более опытные.
Отмечу, что главное качество — это не столько талант, сколько трудолюбие. Очень легко найти сайты с олимпиадными задачами, и тот, кто ими пользуется, тот, кто тренируется, тот и будет выше.
Как родители смотрят на то, что ребенок занимается программированием? Как на будущую профессию? То, что ребенок сидит за компьютером их беспокоит?
— Бывают, что родители занимаются IT, и отдают ребенка на занятия, чтобы он по их стопам шел. И конечно, ни для кого не секрет, что это востребованная профессия. И проблемы сидения ребенка за компьютером, я бы сказал, нет, потому что в отличие от тестов и контрольных работ, здесь все таки более творческие задачи — не нужно просто сидеть и монотонную работу выполнять. Часто основная и наиболее сложная деятельность не касается компьютера — это придумывание идеи и алгоритма, а компьютер — это уже инструмент.
Какие цели вы себе ставите и как измеряете успешность своей деятельности?
— Есть олимпиада, скажем, всероссийская олимпиада для школьников, и чем больше дипломов победителей на каждом этапе, тем лучше. В прошлом году в финал всероссийской олимпиады для школьников от Нижегородской области прошли три человека, один из них получил диплом. Было бы два человека — было бы лучше. Это как раз легко измерить.
Смотрю, насколько ученики активно участвует в соревнованиях, есть ли какая-то заинтересованность. Если человеку интересно, он будет продолжать этим заниматься. А на соревнованиях смотрим, сколько команд, сколько дипломов.
Когда я только начал заниматься, у нас была одна команда, а в прошлом году мы зарегистрировали 62 команды от Нижнего Новгорода на квалификацию на Чемпионат мира.
Фото: vk.com/neimark_it
Как изменилось нижегородское олимпиадное движение за последние 10 лет?
— Наибольший контраст в студенческой категории. Когда я участвовал, у нас не было занятий вообще никаких. Мы — наша команда — была единственной в ВУЗе, и мы просто приходили в ВУЗ, нам открывали аудиторию, где проходили занятия для школьников, мы там решали свои задачки. Долго никаких таких курсов не было, соответственно, не было и речи о массовом участии студентов Нижнего Новгорода в соревнованиях, но со временем удалось довольно много людей привлечь. Когда я начал вести занятия, в 2014 году, ко мне приходило человека два-три, но потом их стало семь, потом 20. Сейчас только зарегистрированных почти 200 человек.
Как выглядит Нижегородская область на фоне других регионов?
— По части IT у нас один из самых передовых регионов. Есть небольшое отставание в олимпиадном плане, потому что у нас классическая для регионов проблема — самые талантливые дети уезжают в Москву и Санкт-Петербург. Считается, что там лучшее образование. По крайней мере, родители так считают, и это быстро не переменить в сознании.
Даже если у нас образование не хуже, в их представлении лучшие ВУЗы — в Москве и Санкт-Петербурге, поэтому нужно ехать туда. И те, кто побеждают на олимпиадах, потом без проблем туда поступают. Из призеров городской олимпиады, которые у меня учились, из 20 человек только 1 остался в Нижнем Новгороде.
Я же не могу сказать, что если вы ходите ко мне на занятия, вы не имеете права уезжать. Остается только их поддерживать.
Блиц-опрос. Даете ли вы себе новогодние обещания как, например, Марк Цукерберг?
— У меня есть нечто похожее. На сайте codeforces.com, где опубликованы наиболее популярные задачки для тренировок, там есть статистика, сколько человек решает в день. Сколько он за этот день решил — там будет квадратик определенного цвета. Я стараюсь решать по три задачки в день, чтобы получить максимально темный квадратик. И делаю это на протяжении уже 20 месяцев.
Есть ли у программистов приметы?
— Конкретно у меня нет. Мы же люди науки, практики. Я обычно студентам говорю, что самый хороший талисман — это тренировки. Если вы тренировались, будет хороший результат.
Что порекомендуете почитать?
— Я порекомендую то, что относится к олимпиадам. «Алгоритмы. Построение и анализ» Томаса Кормана и его соавторов — очень классическая и довольно популярная среди олимпиадников книга по алгоритмам. Там достаточно много алгоритмов, в том числе тех, которые чаще всего встречаются на олимпиадах. И в целом изложение интересное и понятное. Очень рекомендую.