На олимпиадах по программированию высокого уровня побеждают люди столь же высокого уровня

  

21 Август 2024 (17:30)

На олимпиадах по программированию высокого уровня побеждают люди столь же высокого уровня

Об авторе: Анатолий Шалыто, профессор, д.т.н., Университет ИТМО.

С 2000 года, когда российские команды впервые стали победителями командного студенческого чемпионата мира по программированию ICPC, тогда ещё проходившего под эгидой ACM, не смолкают, по крайней мере у нас в стране, разговоры о том, что победители таких чемпионатов якобы не приспособлены для работы в IT-промышленности.

Я имею честь почти 30 лет близко общаться с большим числом призёров и победителей этих соревнований (только чемпионами мира команды из наших ребят на этих соревнованиях были семь (!) раз), так как работаю на кафедре «Компьютерные технологии» (КТ) университета ИТМО.

Неоднократно пытался опровергать указанное мнение, для чего написал ряд статей на эту тему: «Зачем нам чемпионы по программированию? Пятнадцать аргументов в пользу программистских олимпиад» (2008), «В защиту мальчишек, которые в ней не нуждаются» (2013), «К вопросу о том, что классные олимпиадники чего-то там не могут» (2021), «Кое-что о программировании» (2021), «В защиту олимпиадников, которые в защите не нуждаются» (2023).

Молодые люди, которые побеждают или стали призёрами этих многоэтапных соревнований, в которых каждый год принимают участие около 50 тысяч человек из более трёх тысяч университетов, представляющих более 110 стран мира, должны быть под стать уровню этих соревнований. По моему мнению, они в IT могут всё. На этот раз я остановлюсь лишь на одной сфере их профессиональной послеолимпиадной деятельности – академической (преподавание и наука). Тем самым показав, что к работе в IT-компаниях их жизнь не сводится. Естественно, что у меня нет общей статистики по этому вопросу, и поэтому расскажу только о тех людях, с которыми так или иначе знаком.

Начну с важного события: 1 сентября 2024 года в двух топовых вузах страны на ведущих факультетах, связанных с математикой и программированием, деканами будут сравнительно молодые люди, которые в 2001 году на чемпионате мира ICPC в Ванкувере были соперниками, один из них стал победителем, а второй – призёром этих соревнований! Указанные люди – это Виктор Александрович Петров и Андрей Сергеевич Станкевич.

Начну с текста:

«Факультет математики и компьютерных наук СПбГУ, который создан лауреатом Филдсовской премии Станиславом Константиновичем Смирновым и является одним из лучших в мире факультетов этой направленности в мире, приветствует нового декана! Теперь нашим дружным сообществом руководит профессор Виктор Александрович Петров.

Наш декан в духе факультета совмещает интерес к математике и к информатике: Виктор Александрович – чемпион мира по программированию. В 2001 году командный студенческий чемпионат мира ICPC выиграла команда СПбГУ в составе: Николай Дуров, Андрей Лопатин и Виктор Петров. Сейчас Виктор Александрович – доктор физико-математических наук, профессор. Он специализируется на алгебраической геометрии. Основные научные интересы: линейные алгебраические группы, ориентированные теории когомологий и мотивы Чжоу. Исследования под руководством Виктора Александровича ведутся в лаборатории алгебры и теории чисел ПОМИ, где он является ведущим научным сотрудником.

Виктор Александрович читает лекции по алгебре студентам первого и второго курсов программы «Математика» и выступает руководителем студентов старших курсов, разделяющих его научные интересы. Кроме того, декан активно участвует в организации конференций Института Эйлера и научных событий на нашем факультете. Желаем Виктору Александровичу успехов в новой должности!»

А вот так Виктор Александрович защищает докторскую диссертацию на тему «Mотивные методы в теории алгебраических групп и однородных многообразий». А вот большое интервью Петрова.

Если Виктор Петров в команде с двумя выдающими программистами в Ванкувере победил, то Андрей Станкевич совместно с Георгием Корнеевым и Денисом Кузнецовым из университета ИТМО заняли третье место.

Вот далеко не полный перечень достижений Андрея Сергеевича. Стипендиат Президента и Правительства РФ (2000, 2001). Доцент кафедры КТ, впоследствии доцент факультета «Информационные технологии и программирование» университета ИТМО. В 2009 году защитил кандидатскую диссертацию под руководством Владимира Глебовича Парфёнова – отца-основателя факультета, которого Андрей сменил. Станкевич автор учебных курсов «Дискретная математика», «Алгоритмы и структуры данных», «Теория формальных языков», «Языки программирования и методы трансляции». Автор сайта вики-конспектов, содержащего свыше 500 статей-конспектов. Автор методологии использования системы проверки олимпиадных задач в учебном процессе. Лауреат премии Президента РФ в области образования (2003) и молодёжной премии Санкт-Петербурга в области информационных технологий за 2009 год. Лауреат премии Правительства Санкт-Петербурга для педагогов-наставников (2011, 2014, 2015). Почетный доктор Университета ИТМО (2015). Занимал четвертое и третье места (сегодня за такие достижению присуждаются золотые медали) в составе команды ИТМО на чемпионатах мира ICPC (2000, 2001). Под его руководством команды ИТМО на этом чемпионате семь (!) раз становились чемпионами мира и Европы (2004, 2008, 2009, 2012, 2013, 2015, 2017), четырежды занимали третье место – а это по регламенту ICPС тоже золотые медали (2003, 2005, 2007, 2020), один раз седьмое место – серебряные медали (2016) и дважды девятое – бронзовые медали (2014, 2018). Команды ИТМО под его руководством девять раз становились чемпионами России (1996, 2001, 2003, 2004, 2007, 2010, 2011, 2012, 2014). Имеет ряд наград от ICPC.

Председатель жюри Всероссийской командной олимпиады школьников по программированию, начиная с первого года её проведения (2000). Член жюри Всероссийской олимпиады школьников по информатике (с 2004 года), член центральной предметно-методической комиссии всероссийской олимпиады школьников по информатике и информационно-коммуникационным технологиям, проводимой под эгидой Министерства просвещения РФ (с 2008). Председатель этой комиссии (с 2019 года). Руководитель национальной команды школьников на Международной олимпиаде по информатике – International Olympiad in Informatic (IOI). Автор более 500 учебно-тренировочных задач. Один из ключевых организаторов летней компьютерной школы, в которой много лет ежегодно летом и зимой (!) обучается свыше 400 школьников со всей страны. Инициатор проведения занятий по информатике в образовательном центре «Сириус». Председатель жюри серии интернет-олимпиад по информатике и программированию (с 2006 года) и чемпионата мира среди русскоязычных программистов Russian Code Cup (с 2011 года) – совместно с компанией Mail.Ru (Россия). Один из организаторов проведения чемпионата России по программированию и «Игр будущего», проведённых под эгидой федерации спортивного программирования России. Большое интервью Андрея Станкевича на Codeforces приведено здесь, а вот Андрей Сергеевич рассказывает о сказочной программе по ИИ, которая будет проводиться совместно с «Яндексом».

Петров и Станкевич далеко не единственные, кто после высоких достижений в ICPC «пошли» не в программисты, а делали и/или делают карьеру в академии.

Георгий Александрович Корнеев – стипендиат Президента РФ (2000). Доцент кафедры KT, впоследствии доцент факультета «Информационные технологии и программирование» университета ИТМО. Занимал четвёртое и третье места (сегодня за такие достижению присуждаются золотые медали) в составе команды ИТМО на чемпионатах мира ICPC (2000, 2001). В 2006 году под моим руководством защитил кандидатскую диссертацию на тему «Автоматизация построения визуализаторов алгоритмов дискретной математики на основе автоматного подхода». Лауреат премии Правительства РФ в области образования (2008). Лауреат премии Правительства СПб в области образования (2009). С 2000 года входит в оргкомитет Всероссийской олимпиады школьников по информатике (член научного комитета, жюри, центральной предметно-методической комиссии). Председатель жюри (с 2001 года) и директор (с 2005 года) четвертьфинальных соревнований Северного подрегиона Северо-Восточного европейского региона ICPC. Ответственный исполнитель проекта «Подготовка и переподготовка профильных специалистов на базе центров образования и разработок в сфере информационных технологий» Комиссии при Президенте РФ по модернизации и технологическому развитию экономики России. Ответственный исполнитель ряда научно-исследовательских работ Российского фонда фундаментальных исследований.

Дмитрий Павлов завоевал серебряную медаль (25 место) на IOI 2002 года. Он был одним из тех, кому в соответствии с распоряжением президента РФ «О присуждении премий Президента РФ за 2002 год работникам образования – лауреатам конкурса «Учитель года России» и обучающимся в общеобразовательных учреждениях – победителям международных олимпиад по учебным предметам» за выдающиеся способности, проявленные в ходе IOI, была присуждена эта премия. В 2003 году Павлов входил в команду университета ИТМО, которая стала чемпионом России по программированию. Лауреат молодёжной премии Санкт-Петербурга в области информационных технологий (2003). Он входил в команду этого университета, занявшую первое и третье места на чемпионатах мира ICPC в 2004 и 2005 годах, что принесло ему золотые медали. В 2007 году закончил бакалавриат на кафедре КТ университета ИТМО. В 2011 году в University of California (Berkeley) Дмитрий стал PhD in Mathematics. Тема его диссертации: A decomposition theorem for noncommutative Lp-spaces and a new symmetric monoidal bicategory of von Neumann algebras. Сейчас он Associate Professor of Mathematics and Statistics Texas Tech University. Вот его публикации.

Максим Буздалов входил в команду университета ИТМО, занявшую первое на чемпионате мира ICPC в 2009 году. В 2014 году под моим руководством защитил кандидатскую диссертацию на тему «Генерация тестов для определения неэффективных решений олимпиадных задач по программированию с использованием эволюционных алгоритмов». Доцент кафедры КТ. Лауреат премии Правительства РФ по образованию (2016). Участвовал в организации Интернет-олимпиад по информатике и программированию. Член жюри Северного четвертьфинала Северо-Восточного европейского полуфинала ICPC (2010-2015 годы), Северо-Восточного европейского полуфинала ICPC (2010-2015 годы). Участвовал и руководил тренировками команд по программированию следующих университетов мира: ETH Zurich, которые с 2010 года после этих тренировок регулярно выходят в финал чемпионата мира ICPC, Peking University, который в 2014 году впервые занял третье место (золотая медаль) в финале чемпионата мира ICPC, а в 2015 году – пятое место (серебряная медаль), Tongji University (Китай) и Technology University of Monterrey (Мексика). Победитель открытого конкурса грантов для студентов, аспирантов вузов и академических институтов, расположенных на территории Санкт-Петербурга (2009). Победитель конкурса грантов в рамках Федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» на 2009-2013 гг. по мероприятию «Проведение научных исследований целевыми аспирантами по направлению нано-, био-, информационные, когнитивные технологии». О том, как Максим проводил дистанционные занятия по программированию на платформе edX, я написал текст «Хорошее дистанционное образование, или Максим на Хайпе». Научный руководитель ряда успешно защитившихся аспирантов. Вот его публикации.

Наталья Бондаренко входила в состав команд Саратовского государственного университета, занявших четвёртое (золотая медаль) и седьмое место (серебряная медаль) на чемпионатах мира ICPC 2009 и 2010 годов. В 2011 году ей присуждена учёная степень «Кандидат физико-математических наук», в 2016 году присвоено ученое звание «Доцент», а 2022 году ей присуждена учёная степень «Доктор физико-математических наук». В 2021 году она защитила в МГУ диссертацию на тему «Обратные задачи спектрального анализа для дифференциальных операторов». Профессор кафедры прикладных математики и физики Самарского университета. В 2021 году Наталья получила премию компании Elsevier за выдающийся вклад в развитие математики на национальном и международном уровнях в категории «Молодой учёный». Её научные исследования относятся к теории обыкновенных дифференциальных уравнений, функционального анализа и математической физики.

Илья Разенштейн в 2007 году занял второе место на Всероссийской олимпиаде школьников по информатике. Он дважды золотой медалист IOI – 10 и 11 места в 2006 и 2007 годах. Золотой медалист (второе место) ICPC 2010 года. Закончил МГУ. За время обучения в университете был на двух стажировках в Microsoft Research и два года работал в «Яндексе». В 2017 году защитил PhD в Массачусетском технологическом институте. Тема его диссертации: High-Dimensional Similarity Search and Sketching: Algorithms and Hardness. Был постдоком в Колумбийском университете. Вот его публикации. У Ильи есть совместная работа с выдающимся математиком Андреем Гольдбергом. Вот что пишет Илья: «Самый кайф в исследованиях – придумать что-то новое с ощущением того, что до Вас это никто не делал, и что Вы – первопроходец. Такие моменты лично у меня случаются довольно редко, но каждый из них я хорошо помню, и все это вызывает совершенно непередаваемые эмоции. Конечно, почти любой новый результат – это капля в море науки, но, по-моему, это совершенно неважно, а важен сам факт расширения границ наших знаний. Это как решать и решить трудную олимпиадную задачу, но которую составляет не другой человек, а Бог или мироздание (кому как нравится)». 

Перечисленная выше олимпиадная «публика» высочайшего класса как-то обходится без IT-промышленности, как и IT-промышленность обходится без них – они нашли консенсус.

Теперь о тех, кто защитил диссертации, но ушел в IT-промышленность, в том числе в организацию стартапов и на работу в них (указаны только академические достижения).

Николай Дуров три года подряд (с 1996 по 1998 годы) на международной олимпиаде школьников по математике (International Mathematical Olympiad – IMO) завоёвывал золотые медали (четвёртое, одиннадцатое, четвёртое места). С 1995 по 1998 годы он завоевал золотую (девятое место в 1996 году) и три серебряных медали (26, 51 и 29 места в остальные годы) на IOI. В 2000 и 2001 годах в составе команд СПбГУ был чемпионом мира ICPC. В 2007 году стал PhD, защитив в Боннском университете под руководством лауреата Филдсовской премии Герда Фальтингса диссертацию на тему «Новый подход к геометрии Аракелова», в которой развивал идеи одного из выдающихся математиков XX века Александра Гротендика. Там же Николай прошёл процедуру хабилитации, став доктором наук.

Матвей Казаков – стипендиат президента РФ (1999). Занял третье место в составе команды ИТМО на чемпионате мира ICPC (1999). В 2010 году защитил под руководством В.Г. Парфёнова кандидатскую диссертацию на тему «Методы построения визуализаторов алгоритмов дискретной математики на основе автоматного подхода». Разработчик и соавтор Интернет-школы программирования. Лауреат премии правительства РФ по образованию (2008). Тренер команды Университета ИТМО на чемпионате мира по программированию, завоевавшей золотые медали за третье место в 2001 году. В этом же году возглавил технический комитет по проведению соревнований в Северной Евразии (Northern Eurasia Regional Contest – NERC). Лауреат премий ICPC. В 2019 году в университете ИТМО было создано представительство ICPC в России и странах СНГ (Северная Евразия), руководителем которого стал Казаков. Уже несколько лет Матвей занимает должность операционного директора ICPC в целом.

Никита Шамгунов входил в команду Уральского государственного университета, которая в 2001 году получила бронзовые медали на чемпионате мира ICPC (18 место). В 2004 году Никита под моим руководством защитил кандидатскую диссертацию на тему «Разработка методов проектирования и реализации поведения программных систем на основе автоматного подхода». Вот обстоятельная беседа с Никитой о его жизни.

Сергей Оршанский в 2003 году входил в команду университета ИТМО, которая стала чемпионом России по программированию. Лауреат молодёжной премии Санкт-Петербурга в области информационных технологий (2003). Он также входил в команду этого университета, занявшую первое и третье места на чемпионатах мира ICPC в 2004 и 2005 годах, что принесло ему золотые медали. В 2010 году он стал PhD по математике. Вот название одной из его статей: A PL-manifold of nonnegative curvature homeomorphic to S 2 ×S 2 is a direct metric product.

Фёдор Царёв входил в команду университета ИТМО, которая стала чемпионом России по программированию в 2007 году. Он также входил в команду этого университета, занявшую первое на чемпионате мира ICPC 2008 года. В 2012 году под моим руководством Фёдор защитил кандидатскую диссертацию на тему «Методы построения конечных автоматов на основе эволюционных алгоритмов». Вот его публикации. В 2013 году стал доцентом кафедры КТ. Участвовал в финале соревнований по программированию TopCoder Collegiate Challenge 2007. Участвовал в организации школьных олимпиад и интернет-олимпиад по информатике и программированию. Победитель открытого конкурса грантов для студентов, аспирантов вузов и академических институтов, расположенных на территории СПб (2007, 2009, 2011). Победитель конкурса по программе «У.М.Н.И.К.» (2007). Лауреат молодёжной премии Санкт-Петербурга в области информационных технологий (2007). Победитель конкурса «Молодые. Дерзкие. Перспективные» в номинации «Бизнес-идея» (2008). Лауреат премии Правительства СПб за лучший инновационный проект «Программирование и футбол для молодёжи» (номинация «Для обеспечения интересов молодёжи», 2009). Лауреат Гран-при первой молодёжной национальной премии «Прорыв» (2009). Лауреат премии правительства СПб в области научно-педагогической деятельности (2010). Руководитель работ по созданию сборщика генома в Университете ИТМО. Ответственный исполнитель научно-исследовательских работ по сборке генома и транскриптома. Совместно с двукратным чемпионом мира ICPC Евгением Капуном получил фундаментальные результаты по оценке вычислительной сложности задачи сборки генома на основе графа де Брейна. Команда Университета ИТМО под руководством Царёва дважды участвовала в международных соревнованиях по сборке генома. Тренер команды по программированию ETH Zurich (Швейцария), которую впервые в истории этого университета вывел в финал чемпионата мира (2011).

И, наконец, о людях, который так или иначе совмещают работу в IT-промышленности с академической деятельностью.

Марк Сандлер в 1995 году занял третье место на Всероссийской олимпиаде школьников по информатике. Дважды завоёвывал золотые медали IOI (14 и шестое места в 1995 и 1996 годах). Поступил на кафедру КТ в 1996 году. В этом же году в составе команды университета ИТМО стал чемпионом России по программированию. В 1997 и 1998 годах участвовал в составе команд этого университета в финалах чемпионатов мира ICPC. Стипендиат президента РФ (1998). Тренер команд университета ИТМО в финалах указанного чемпиона в 1999 и 2000 годах (третье и четвёртые места). В 2001 году Марк закончил бакалавриат кафедры КТ и поступил в аспирантуру одного из американских университетов. Впоследствии он стал PhD и одним из первых научных сотрудников в компании Google.

Максим Бабенко в 1999 году занял пятое место на Всероссийской олимпиаде школьников по информатике. В том же году на IOI завоевал золотую медаль (20 место). Поступил на механико-математический факультет МГУ (1999). В составе команд МГУ в 2002 и 2003 годах завоевал бронзовую (девятое место) и золотую (второе место) медали на чемпионатах мира ICPC. Руководит службой разработки технологий распределённых вычислений в «Яндексе». Вот как Максим проводит собеседования при приёме на работу в компанию. Он кандидат физико-математических наук – в 2007 году в МГУ защитил диссертацию на тему «Сложность некоторых алгоритмических проблем для кососимметрических графов». Преподаёт в МГУ и Школе анализа данных «Яндекса». По совместительству с работой в «Яндексе» заведовал кафедрой «Алгоритмы и технологии программирования» в МФТИ. В Высшей школе экономики руководит базовой кафедрой «Яндекса». Вот записи более ста его лекций. Максим соавтор статьи с выдающимися математиками современности – упомянутым выше Андреем Гольдбергом и Робертом Тарьяном. Приведу ещё одну статью Бабенко.

И в заключение. Думаю, что приведённые выше факты сводят на нет тот бред, который можно слышать об олимпиадниках даже высочайшего класса, состоящий в том, что они привыкли быстро решать много задач и не способны обеспечить то, что так ценится в IT-промышленности – качество кода. Из написанного выше следует, что талант, образованность и трудолюбие каждого из них позволяют долго решать указанные сложнейшие задачи, по сравнению с которыми задача обеспечения качества кода для них весьма проста. Я уверен, что, если бы они захотели её решать, то несомненно бы решили, а многие из них и так чуть ли не ежедневно её решают. И ещё. Интересно было бы посмотреть на тех, кто качественно пишет код – как они решали бы некоторые из тех проблем, темы которых приведены выше…

См. также: Где сегодня работают российские чемпионы мира по программированию >>>