Всеросси́йская олимпиа́да шко́льников по информа́тике (также Всеросси́йская олимпиа́да шко́льников по информа́тике и ИКТ) — ежегодное соревнование по информатике для школьников 7—11 классов. Основой олимпиады является программирование.
Олимпиада является частью системы Всероссийских олимпиад школьников[1] и проводится с 1989 года. Ежегодно в заключительном этапе олимпиады принимает участие более 200 школьников из различных регионов России.
Первая Всероссийская олимпиада школьников по информатике прошла в 1989 году, однако ещё до неё в СССР проходила Всесоюзная олимпиада школьников по информатике. Первая Всесоюзная олимпиада проходила с 13 по 20 апреля1988 года в Свердловске. В этой олимпиаде приняло участие 80 школьников, причём квоты на количество участников из каждой из республик СССР устанавливались пропорционально численности школьников в республике. В то время отсутствовал опыт организации соревнований такого уровня как в СССР, так и в других странах, поэтому организаторам пришлось самостоятельно продумывать формат и содержание олимпиады[2][3]. С тех пор Всесоюзная олимпиада проходила ещё три раза вплоть до распада СССР — в 1989, 1990 и 1991 годах в Минске, Харькове и Бишкеке соответственно[4]. Сама Всероссийская олимпиада с 1989 по 1991 год носила статус республиканского этапа Всесоюзной олимпиады[3].
После распада СССР в 1992 году параллельно с Всероссийской олимпиадой прошла Межгосударственная олимпиада, куда были приглашены школьники из государств, входивших в состав СССР[5], однако свои команды не прислали Азербайджан, Таджикистан и Эстония[6].
Изначально первый тур олимпиады был теоретическим, а второй предполагал использование компьютеров. Однако начиная с III Всесоюзной олимпиады 1990 года (или с IV Всероссийской) оба тура стали практическими[3].
При организации олимпиад столкнулись с проблемами тестирования решений, среди них была потребность в большом количестве специалистов, поскольку тесты запускались вручную в присутствии участника. Производилась частичная автоматизация тестирования с использованием сетевых технологий, а начиная с 1999 года процедура тестирования стала полностью автоматической[7].
С 1992 года статус столицы Всероссийской олимпиады по информатике на 5 лет получил подмосковный город Троицк в связи с наличием там хорошего компьютерного оснащения. Далее статус столицы олимпиады получил на 3 года Санкт-Петербург[3], а начиная с 2001 года, в связи с развитием экономики страны и информатизацией образования, олимпиада стала проводиться в различных городах России.
Первый тур был теоретическим, на нём требовалось решить 4 задачи и записать решения на каком-либо алгоритмическом языке, а второй практический, на нём предлагалось для решения 2 задачи, а официальным языком тура был объявлен Бейсик. Решения участников оценивались из 175 баллов[8].
Совместно с Всероссийской олимпиадой, также проводилась Межгосударственная олимпиада в Могилёве, собравшая школьников из 12 республик бывшего СССР[5]. Впервые оба тура Всероссийской олимпиады были практическими. На олимпиаде участникам было предложено две задачи, решение каждой из которой оценивалось из 100 баллов[11].
Состав участников олимпиады впервые формировался на основе квот, установленных Министерством образования России. На олимпиаде предлагалось для решения 3 задачи, максимальное число баллов составляло 200[12].
Время проведения каждого тура было установлено в 5 астрономических часов, что соответствует нормам международных олимпиад[15]. На олимпиаде впервые была предпринята попытка частично автоматизировать проверку решений участников[16].
Олимпиада проводилась на базе Аничкова дворца. На турах разрешалось пользоваться любой литературой и личными записями, однако было запрещено использовать электронные устройства. Максимальное количество баллов за оба тура составляло 200[17].
При составлении задач жюри учитывало факт того, что 1999 год является годом 200-летия со дня рождения А. С. Пушкина. Помимо школьников из субъектов РФ в олимпиаде приняли участие школьники из Байконура. Впервые на Всероссийской олимпиаде процесс тестирования решений был полностью автоматизирован[7].
Впервые на олимпиадах такого уровня абсолютными победителями стали сразу два участника: Пётр Митричев и Алексей Круглов, набравшие по 173 балла из 200[19].
Результаты тестирования решений в реальном времени с помощью проектора выводились на экран в актовом зале, где находились участники олимпиады. Победитель олимпиады показал наилучший возможный результат — 200 баллов из 200, что ранее на Всероссийской олимпиаде по информатике никто не показывал[20].
Как и ранее, для проверки решений на олимпиаде использовалась автоматизированная система, однако на этой олимпиаде она была значительно усовершенствована для повышения эффективности и надёжности[21].
Впервые на олимпиаде был проведён пробный тур. На нём участникам предлагалась одна простая задача, направленная на изучение поведения и возможностей технического обеспечения олимпиады[22].
Автоматизированная тестирующая система впервые позволяла не только отправлять решения на проверку, но также давала участникам возможность самостоятельно проверить свои решения на тестах, что позволяло избежать различных ошибок в решениях[23]
На олимпиаде участникам было впервые предложено 8 задач, была добавлена система обратной связи — по каждой задаче участники определенное жюри количество раз могли узнать результат тестирования на конечном наборе тестов, ранее эти результаты были доступны только после окончания тура.
Согласно положению о Всероссийской олимпиаде школьников[39], выделяется четыре этапа олимпиады:
Школьный этап олимпиады проводится общеобразовательными учреждениями в октябре—ноябре каждого года. Задания для школьного этапа составляются предметно-методическими комиссиями муниципального этапа с учётом рекомендаций Центральной предметно-методической комиссии. В школьном этапе олимпиады может принять участие любой обучающийся 5—11 классов общеобразовательной школы[39], однако на практике олимпиада охватывает не все школы, основной причиной чего, по мнению председателя Центральной предметно-методической комиссии по информатике В. М. Кирюхина[40], является отсутствие методической поддержки учителей[41].
Муниципальный этап олимпиады проводится органами местного самоуправления в ноябре—декабре каждого года. Задания для муниципального этапа составляются предметно-методическими комиссиями регионального этапа с учётом рекомендаций Центральной предметно-методической комиссии. Участниками этапа являются учащиеся 7—11 классов, являющиеся победителями и призёрами школьного этапа олимпиады, либо победителями и призёрами муниципального этапа предыдущего года[39].
Региональный этап олимпиады проводится в субъектах Российской Федерации в январе—феврале каждого года. Организаторами этапа являются органы исполнительной власти субъектов Российской Федерации, осуществляющих управление в сфере образования. Задания для регионального этапа составляются Центральной предметно-методической комиссией. Участниками этапа являются учащиеся 9—11 классов, являющиеся победителями и призёрами муниципального этапа олимпиады, либо победителями и призёрами регионального этапа прошлого года[39]. Этап проводится в два основных тура, к которым может добавляться третий пробный тур. Этап проводится практически одновременно во всех субъектах России, чтобы исключить возможность утечки олимпиадных заданий. После этапов проводится процедура разбора заданий[42].
Заключительный этап Всероссийской олимпиады школьников по информатике ежегодно проводится Министерством образования и науки Российской Федерации в одном из городов России. Задания для заключительного этапа, как и для регионального этапа, составляются Центральной методической комиссией[39]. Этап состоит из трёх туров, один из которых является пробным. На пробном туре участники решают несколько задач, направленных на изучение возможностей и тестирование программного обеспечения на их компьютерах и работы автоматической тестирующей системы[43]. На каждом из основных туров участникам предлагается несколько задач, число которых определяется жюри олимпиады, но не может быть менее трёх[43]. До 2010 года участникам предлагалось три задачи, с 2011 года — четыре задачи на каждом туре. Участники, получившие дипломы победителей и призёров на этом этапе, получают право поступления без экзаменов в любой вуз страны для обучения по профильным специальностям[39], а также получают денежные премии[44][45].
Задачи
На олимпиаде выделяется два основных типа задач[46][47][48]:
Задачи, решением которых является программа. При решении такой задачи участник должен составить программу, которая по заданному входному файлу сформирует выходной, и сдать исходный текст программы в проверяющую систему. Программа участника будет скомпилирована, а корректность её работы будет проверена на различных входных данных, заранее неизвестных участнику. На работу скомпилированных программ налагаются ограничения по объёму используемой оперативной памяти, времени выполнения, а также запрещается доступ к посторонним файлам, системным и сетевым ресурсам[46]. При этом выделяется несколько подтипов:
стандартная, то есть корректность программы проверяется при помощи запуска на неизменном наборе текстовых входных данных, а результат должен выводиться в стандартный поток вывода.
интерактивная, то есть программа участника взаимодействует с программой-интерактором[49], разработанной жюри.
С открытыми тестами: задачи, решением которых является выходной файл. В данном типе задач все входные данные уже известны участнику, ему необходимо лишь получить для каждого входного файла соответствующий ему выходной и сдать его в проверяющую систему. При этом способ, которым участник получил ответ, не важен.
Современные задачи олимпиады являются многоуровневыми, то есть даже неполные и неэффективные решения пройдут определённые группы тестов и принесут участникам некоторое количество баллов. При этом научный комитет олимпиады рассматривает многочисленные варианты решения каждой задачи и составляет наборы тестов таким образом, чтобы лишь полные решения смогли пройти все тесты и набрать максимальный балл[50].
Организационно-методическое обеспечение олимпиады на постоянной основе обеспечивают два органа: Центральный оргкомитет Всероссийской олимпиады школьников и центральная предметно-методическая комиссия по информатике. Центральный оргкомитет обеспечивает контроль за всеми соревнованиями, входящими в систему Всероссийских олимпиад, в то время как центральная предметно-методическая комиссия формируется отдельно по каждому из предметов. В то же время, на каждом из этапов олимпиады также формируются оргкомитет олимпиады и жюри. Кроме того, специфичным для олимпиад по информатике[51] является выделение ещё двух органов — научного и технического комитетов.
Центральная предметно-методическая комиссия
Центральная предметно-методическая комиссия олимпиады разрабатывает тексты олимпиадных заданий и требования к проведению заключительного и регионального этапов, а также методические рекомендации по составлению требований к проведению и заданий для школьного и муниципального этапов[39]. Членами центральной предметно-методической комиссии по информатике являются[52]:
Андреева Елена Владимировна — заведующая кафедрой информатики СУНЦ МГУ, кандидат физико-математических наук, доцент.
Ахмедов Максим Басирович — руководитель группы разработки общества с ограниченной ответственностью «Яндекс.Облако».
Грибов Филипп Юрьевич — преподаватель кафедры Алгоритмов и структур данных Автономной некоммерческой организации дополнительного образования «Тинькофф Образование».
Корнеев Георгий Александрович — доцент кафедры компьютерных технологий Санкт-Петербургского государственного университета информационных технологий, механики и оптики, кандидат технических наук.
Маврин Павел Юрьевич — ассистент факультета информационных технологий и программирования Санкт-Петербургского государственного университета информационных технологий, механики и оптики.
Пядеркин Михаил Михайлович — преподаватель кафедры дискретной математики федерального государственного автономного образовательного учреждения высшего образования «Московский физико-технический институт (национальный исследовательский университет)», кандидат физико-математических наук (PhD).
Тихомиров Михаил Игоревич — преподаватель кафедры дискретной математики федерального государственного автономного образовательного учреждения высшего образования «Московский физико-технический институт (национальный исследовательский университет)», кандидат физико-математических наук (PhD).
Шедов Сергей Валерьевич — старший преподаватель кафедры алгоритмов и технологий программирования федерального государственного автономного образовательного учреждения высшего образования «Московский физико-технический институт (национальный исследовательский университет)», кандидат физико-математических наук (PhD).
Шуйкова Инесса Анатольевна — ректор государственного автономного учреждения дополнительного профессионального образования Липецкой области «Институт развития образования», кандидат технических наук.
Научный и технический комитеты
Специфика олимпиад по информатике привела к необходимости создания дополнительных рабочих органов. Научный комитет заключительного этапа олимпиады формируется из талантливых студентов и выпускников вузов, являющихся призёрами и победителями олимпиад по информатике высокого уровня. Научный комитет подготавливает пакет задач, из которого впоследствии жюри выбирает несколько задач, которые будут предложены участникам для решения. Кроме того, в задачи научного комитета входит разработка проверяющих программ для задач и проверка решений участников[51]. Технический комитет олимпиады обеспечивает выполнение необходимых задач технического характера, таких как объединение компьютеров в локальную сеть, обеспечение работы тестирующей системы и решение возникающих у участников проблем с аппаратным и программным обеспечением[51].