Методические рекомендации по проведению олимпиад по информатике
Техническое оснащение
Программное обеспечение
Каждому участнику должен быть предоставлен компьютер с установленными на него операционной системой, интернет-браузером и средами программирования.
Вид операционной системы и браузера не имеет значения.
В список официальных поддерживаемых языков/сред программирования входят:
Delphi
версии не ниже 7.0Free Pascal
версии не ниже 3.0.0 с любой средой (например,Lazarus
)gcc/g++
версии не ниже 5.1 с любой средой (например,Code::Blocks
илиCLion
)Visual Studio
версии не ниже 2013 (язык C++)Java SDK
версии не ниже 1.7.0 с любой средой (например,Eclipse
илиIntelliJ
)
Кроме этого, проверяющая система поддерживает другие языки программирования, включая различные версии Basic
, C#
, PHP
, Perl
, Python
, Ruby
, Haskell
, Rust
. Однако, жюри не гарантирует, что предложенные задачи решаются с использованием этих языков.
Особенно следует отметить, что хотя система и поддерживает проверку решений, разработанных для 16-битных сред (Borland Pascal
, Borland C++
, QBasic
, Quick Basic
), использование этих сред решительно не рекомендуется как на олимпиадах, так и в учебном процессе.
Нестандартные компиляторы для стандартных языков программирования (например, PascalABC
или CLang
) часто содержат ошибки и несовместимости, неожиданные для участников. При использовании таких компиляторов рекомендуется либо тщательное изучение их особенностей, либо указание при отправке более стандартного компилятора с того же языка (например, Free Pascal
или G++
).
Дополнительно в качестве файлового менеджера и текстового редактора рекомендуется устанавливать Far Manager + Colorer, Total Commander + Nodepad++ или другую аналогичную комбинацию.
Соединение с Интернет
Каждому участнику на время соревнований должен быть обеспечен доступ к сайту проверяющей системы. В случае, если это невозможно, см. раздел "Организация в случае ограниченного интернет-соединения". Если имеется техническая возможность, рекомендуется на время олимпиады запрещать доступ участникам к другим сайтам, кроме сайта системы, чтобы снизить вероятность списывания.
Проверяющая система
Олимпиада проводится с использованием тестирующей системы CATS (https://imcs.dvfu.ru/cats). Система разработана на кафедре информатики Дальневосточного федерального университета и в течение нескольких лет используется для проведения школьных и студенческих соревнований, в том числе муниципальных и региональных олимпиад.
Регистрация
Для участия в олимпиаде каждый участник должен зарегистрироваться в системе, выбрав пункт "регистрация" в главном меню. При регистрации в поле "Название команды / имя участника" следует указать фамилию и имя русскими буквами через пробел, например Иванов Василий. Поля "логин" и "пароль" выбираются участником произвольно. Поле "Город/регион" должно содержать название муниципального образования, например "Михайловский район" или "г. Уссурийск". Остальные поля не имеют значения, их можно не заполнять. Дежурный преподаватель должен следить за регистрацией и убедиться, что она проведена верно. В частности, название муниципального образования должно быть записано одинаково для всех участников из него. После окончания регистрации участник может войти в систему, указав выбранный логин и пароль.
Если регистрация выполнена правильно, повторной регистрации перед основным туром не требуется -- участник может использовать тот же логин и пароль для всех дальнейших соревнований, включая краевую олимпиаду и муниципальные олимпиады следующих лет.
Если участник уже был корректно зарегистрирован на прошлой олимпиаде, и его данные не изменились, рекомендуется не проводить повторную регистрацию, а использовать тот же самый логин и пароль. Это позволит в дальнейшем отслеживать все достижения данного участника.
Начало соревнований
Для участия в олимпиаде необходимо:
- Выбрать пункт главного меню турниры
- Выбрать в списке пункт "Муниципальная олимпиада текущий год" или на пробном туре "Муниципальная олимпиада текущий год пробный тур"
- Нажать кнопку участвовать, расположенную под списком После этого напротив названия олимпиады должно появиться слово "участник".
Просмотр задач и отправка решений
После начала олимпиады участник может:
- Выбрать пункт меню задачи.
- В появившемся списке выбрать задачу, чтобы просмотреть её текст, либо выбрать пункт задачи для печати для просмотра всех задач в одном окне.
- Отметить одну из задач.
- Указать файл с решением, либо скопировать решение в поле "Текст решения:". Этот способ не работает для языка Java.
- Выбрать среду разработки. Если на проверку отправляется файл, то система может попытаться автоматически определить среду разработки по его расширению.
- Нажать кнопку отправить для отправки решения на проверку.
Участник может несколько (не более 20) раз отправлять решение одной и той же задачи, при этом окончательным считается последнее отправленное решение. Приём решений автоматически заканчивается в момент окончания олимпиады, поэтому решения следует отправлять в систему заблаговременно. Проверка решений
Проверка решений состоит из двух этапов, предварительной и окончательной проверки.
Во время предварительной проверки решения проверяются на тестах, приведённых в условии задачи. Это делается для того, чтобы убедиться, что участник отправил решение нужной задачи и правильно организовал ввод/вывод.
Во время окончательной проверки все решения тестируются на полном наборе тестов, и определяются окончательные результаты. Правила проверки и оценки результатов более подробно описаны в документации проверяющей системы.
Предварительная проверка каждого отправленного решения осуществляется сразу после отправки задачи. Окончательная проверка всех решений производится после окончания тура Просмотр результатов
Как во время, так и после олимпиады участник может:
- Выбрать пункт главного меню консоль, где можно просмотреть список отправленных решений, результаты их проверки и сообщения жюри.
- В режиме консоли выбрать одно из отправленных решений, чтобы просмотреть подробные результаты проверки по каждому тесту.
- В этом же режиме просмотреть исходный код своих решений, на случай его утери на локальном компьютере.
- Выбрать пункт главного меню результаты, чтобы просмотреть общую таблицу результатов по всем участникам. Во время олимпиады в этой таблице будут отображаться только результаты самого участника (т.е. он не будет видеть, какие задачи решают остальные).
После завершения окончательной проверки таблица будет содержать полные результаты олимпиады. Полная проверка обычно выполняется в течении суток после завершения олимпиады.
Во время пробного тура полные результаты проверки доступны всем участникам непосредственно во время тура. Вопросы к жюри
Во время олимпиады участник может задавать жюри вопросы по условию задач с помощью поля "Вопрос к жюри" в режиме консоли.
Вопросы должны относиться к условию задачи и, по возможности, формулироваться так, чтобы ответ был либо "Да" либо "Нет". Если жюри считает, что ответ на вопрос содержится в условии задачи или что вопрос не относится к условию задачи, оно отвечает "см. условие" или "без комментариев". Если в результате вопроса обнаружилась неточность в условии задачи, сообщение об этом будет отправлено всем участникам.
Вопросы по возможностям языков программирования, работе со средами программирования, операционной системой и браузером, а также по интерфейсу системы участник должен задавать дежурному преподавателю, который должен обладать достаточной квалификацией, чтобы на них ответить.
В случае, если у дежурного преподавателя имеются сомнения по любому возникшему техническому или организационному вопросу, региональное жюри рекомендует немедленно обращаться по электронной почте или телефону.
Организация
Продолжительность олимпиады
Время проведения олимпиады составляет 5 астрономических часов. (Время пробного тура -- 3 часа). В течение этого времени участники должны находиться за компьютерами. Участник может покинуть олимпиаду раньше её окончания, но не может после этого вернуться и продолжить участие.
В случае необходимости посещения туалета или медицинского пункта участника должен сопровождать преподаватель.
Рекомендуется обратить внимание на хорошую проветриваемость помещения, а также обеспечить участников питьевой водой. Ограничения
Во время олимпиады участники могут пользоваться бумагой и письменными принадлежностями, а также программным обеспечением, установленным на их компьютерах. Рекомендуется обеспечить участников чистой бумагой.
Во время тура участникам запрещено использовать любые электронные устройства и носители информации кроме предоставленных им компьютеров -- сотовые телефоны, флеш-накопители, книги, различные записи и т.д. Данное ограничение не действует во время пробного тура. Во время основного тура для очень слабых участников по усмотрению председателя муниципального жюри может быть разрешено использование учебников по языку программирования.
Участникам запрещено использовать любые сайты, кроме сайта проверяющей системы. Если это требование невозможно обеспечить технически (например, с помощью настройки системы контроля доступа), то за его выполнением должен следить дежурный преподаватель.
Во время тура участники могут общаться только с жюри (через интерфейс тестирующей системы) либо с дежурным преподавателем. Отправленные решения будут проверяться на предмет списывания у других участников.
Нарушение перечисленных ограничений во время основного тура ведёт к дисквалификации участника.
Дежурный преподаватель
Дежурный преподаватель должен:
- В течение всей олимпиады находиться в аудитории, где она проходит.
- Следить за соблюдением правил участниками.
- Реагировать на возникающие технические неполадки, по возможности их устранять или предоставлять участнику другой компьютер.
- Отвечать на вопросы, не связанные с условием задач.
- При необходимости обращаться к представителю регионального жюри (телефон: +7914-791-29-88, email: klenin@gmail.com, Кленин Александр Сергеевич)
Повышенная нагрузка на систему
В связи с большим количеством планируемых участников, нагрузка на проверяющую систему существенно возрастёт, особенно в начале тура при входе участников в систему.
В случае, если скорость реакции системы снизится, рекомендуется:
- Подождать реакции системы не менее 15 секунд.
- Повторить последнее действие (или обновить страницу в браузере) не менее чем через 30 секунд. Обратите особое внимание -- слишком частое повторение запросов (обновление страницы) в момент повышенной нагрузки может ещё более усугубить ситуацию.
- Закрыть окно с таблицей результатов, чтобы по возможности большая часть ресурсов системы была посвящена приёму задач на проверку.
- Если перечисленные меры не помогают в течение 5-10 минут, обратиться к представителям регионального жюри.
Организация в случае ограниченного интернет-соединения
Ограниченное интернет-соединение представляет серьёзные трудности для проведения олимпиады. В первую очередь рекомендуется провести работу по квалифицированной настройке соединения, чтобы обеспечить его полноценную работу.
Если это совершенно невозможно, дежурный преподаватель должен во время олимпиады работать на компьютере, подключенном к интернет, и при этом:
- Перед началом олимпиады самостоятельно зарегистрировать всех участников согласно правилам, указанным в разделе "регистрация". Запомнить или записать введённые логины и пароли для каждого участника.
- Непосредственно после начала олимпиады просмотреть список задач (ссылки "задачи"/"задачи для печати") и либо сохранить страницу со списком на диск и передать её участникам, либо распечатать по одному экземпляру на участника.
- Во время олимпиады по запросу участников собирать их решения с помощью локальной сети или переносного носителя. Отправлять собранные решения в систему, каждый раз заходя в неё под логином соответствующего участника.
- Не менее чем за 10 минут до окончания олимпиады собрать и отправить все решения всех участников, чтобы избежать опоздания при отправке большого количества решений в последние минуты тура.
- Внимательно следить за соответствием между авторством решения и логином участника. В случае, если допущена ошибка, немедленно после её обнаружения сообщить о ней представителю регионального жюри.
Особенности задач
Задачи основного тура разрабатываются жюри краевой олимпиады. Задачи пробного тура являются простейшими задачами, взятыми из предыдущих олимпиад.
Общая структура задач соответствует стандартам, принятым в Российской Федерации, и включает:
- Название задачи
- Имена входного и выходного файла
- Ограничения по занимаемой памяти и времени работы программы
- Текст условия
- Ограничения на размер входных данных задачи
- Формат входного файла
- Формат выходного файла
- Примеры тестов
Решением задач традиционного формата является исходный текст программы, состоящей из одного файла и являющейся консольным приложением. Программа должна считывать данные из входного файла и записывать результаты в выходной файл.
Поскольку проверка решений осуществляется автоматически, любые отклонения от указанных форматов приводят к тому, что решение будет признано неверным, даже если запрограммированный алгоритм соответствует условию задачи.
В частности, следует обратить внимание, что программы, вводящие данные с клавиатуры, или пытающиеся воспользоваться оконным интерфейсом, будут набирать 0 баллов.
Максимальная оценка за каждую задачу основного тура составляет 100 баллов. Тем не менее, задачи могут существенно различаться по сложности. Таким образом, участник должен быть способен определить сложность задач и правильно выбрать задачи для решения.
Задачи с открытым входом
Участникам могут быть предложены задачи с открытым входом. Особенностью таких задач является тот факт, что все исходные данные доступны участнику непосредственно во время олимпиады. Таким образом, у участников появляется возможность частично решить задачу, вообще не имея навыков в программировании -- необходимо только умение читать, способность к логическому мышлению и умение следовать инструкциям. Рекомендуется на пробном туре обратить внимание участников на задачу такого типа.
В качестве решения задачи с открытым входом может быть сдана либо программа, либо непосредственно выходной файл, соответствующий предложенным исходным данным. Чтобы отправить выходной файл, участнику следует выбрать среду разработки "Answer text".
Решения задач с открытым входом сначала проверяются на соответствие формату вывода, а затем, если формат признан правильным, на (возможно, частичное) совпадение с правильным ответом. Таким образом, чтобы набрать ненулевой результат, участник должен полностью выполнить требования формата даже в случае частичного решения. Например, если по условию выходной файл должен содержать 10 чисел, но участник смог вычислить только 5 из них, вместо неизвестных ему чисел следует вписать нули.
Интерактивные задачи
Участникам могут быть предложены интерактивные задачи. Решением интерактивной задачи является программа, взаимодействующая со специальной программой жюри, которая называется "интерактор". Для каждого теста программа участника должна отправлять интерактору один или несколько запросов, получать на них ответы, вычислять решение задачи, отправлять решение интерактору и завершать работу.
Программа участника отправляет сообщение серверу с помощью стандартного вывода и получает ответы с помощью стандартного ввода. В отличие от прочих задач, решение интерактивной задачи НЕ должно использовать файлы. Каждое сообщение должно заканчиваться символом перевода строки.
После каждого переданного сообщения программа участника должна выполнить сброс буфера вывода. Ниже приведены способы сброса буфера для некоторых языков программирования.
Pascal | C | C++ | Java | Python |
---|---|---|---|---|
Flush(output); | fflush(stdout); | cout.flush(); | System.out.flush(); | sys.stdout.flush() |
Подведение итогов
Итоги олимпиады подводятся отдельно по каждому муниципальному образованию. Жюри олимпиады каждого муниципального образования оформляет протокол с указанием количества баллов, набранных каждым участником.
Если олимпиада проводится на нескольких площадках в рамках одного муниципального образования, итоги должны подводиться по общему списку со всех площадок.
Муниципальное жюри также определяет победителей и призёров олимпиады согласно Положению о Всероссийской олимпиаде школьников. Жюри регионального этапа проверяет соответствие представленных муниципальными жюри протоколов с общей таблицей результатов.
Жюри регионального этапа готово оказать техническую поддержку -- в частности, публикует отдельные таблицы результатов по каждому муниципальному образованию. Однако, ответственность за официальные результаты, в особенности за правильную идентификацию участников и самостоятельное решение ими задач, несут жюри и организаторы муниципальных образований.
Публикация материалов олимпиады
Все тесты и эталонные решения жюри будут опубликованы на сайте системы после подведения итогов олимпиады.
Обратная связь
Жюри олимпиады с интересом рассмотрит замечания, предложения и сообщения ошибках.