Методические рекомендации по проведению муниципальных олимпиад по информатике в Приморском крае

Техническое оснащение

Каждому участнику должен быть предоставлен компьютер с частотой процессора не менее 1.3ГГц, объёмом оперативной памяти не менее 2Гб, свободным дисковым пространством не менее 5 Гб, монитором с диагональю не менее 19", клавиатурой со стандартной раскладкой, мышью.

Компьютеры участников должны по возможности быть одинаковыми по оснащению.

Программное обеспечение

На компьютеры должны быть установленны операционная система Windows или Linux, интернет-браузер Firefox или Chrome и среды программирования.

С учётом особенностей преподавания школьной информатики рекомендуется устанавливать следующий минимальный набор сред программирования, обеспечивающий потребности большей части школьников:

  1. Free Pascal 3.0 / Lazarus 1.6
  2. PascalABC.NET 3.2
  3. Visual Studio 2015 Community Edition

В список официальных поддерживаемых языков/сред программирования входят:

  1. Free Pascal версии не ниже 2.6.0 с любой средой (например, Lazarus)
  2. gcc/g++ версии не ниже 4.8 с любой средой (например, Code::Blocks)
  3. Visual Studio версии не ниже 2010 (язык C++)
  4. Java SDK версии не ниже 1.5.0 с любой средой (например, Eclipse или Netbeans)

Кроме этого, проверяющая система поддерживает другие языки программирования, включая различные версии Delphi, Basic, C#, PHP, Perl, Python, Ruby, Haskell. Однако, жюри не гарантирует, что предложенные задачи решаются с использованием этих языков.

Особенно следует отметить, что хотя система и поддерживает проверку решений, разработанных для 16-битных сред (Borland Pascal, Borland C++, QBasic, Quick Basic), использование этих сред решительно не рекомендуется как на олимпиадах, так и в учебном процессе.

Нестандартные компиляторы для стандартных языков программирования (например, PascalABC или CLang) часто содержат ошибки и несовместимости, неожиданные для участников. При использовании таких компиляторов рекомендуется либо тщательное изучение их особенностей, либо указание при отправке более стандартного компилятора с того же языка (например, Free Pascal или G++).

Дополнительно в качестве файлового менеджера и текстового редактора рекомендуется устанавливать Far Manager + Colorer, Total Commander + Nodepad++, Sublime, Atom, VS Code или другую аналогичную комбинацию.

Соединение с Интернет

Каждому участнику на время соревнований должен быть обеспечен доступ к сайту проверяющей системы. В случае, если это невозможно, см. раздел "Организация в случае ограниченного интернет-соединения".

Если имеется техническая возможность, рекомендуется на время олимпиады запрещать доступ участникам к другим сайтам, кроме сайта системы, чтобы снизить вероятность списывания.

Проверяющая система

Олимпиада проводится с использованием тестирующей системы CATS (http://imcs.dvfu.ru/cats). Система разработана на кафедре информатики Дальневосточного федерального университета и в течение нескольких лет используется для проведения школьных и студенческих соревнований, в том числе муниципальных и региональных олимпиад.

Помимо настоящего документа, рекомендуется ознакомиться с документацией системы.

Регистрация

Для участия в олимпиаде каждый участник должен зарегистрироваться в системе, выбрав пункт "регистрация" в главном меню. При регистрации в поле "Название команды / имя участника" следует указать фамилию и полное имя русскими буквами через пробел, например Иванов Василий. Поля "логин" и "пароль" выбираются участником произвольно. Поле "Город/регион" должно содержать название муниципального образования, в котором обучается данный участник, например "Михайловский район" или "г. Уссурийск". Остальные поля не имеют значения, их можно не заполнять. Дежурный преподаватель должен следить за регистрацией и убедиться, что она проведена верно. В частности, название муниципального образования должно быть записано одинаково для всех участников из него. После окончания регистрации участник может войти в систему, указав выбранный логин и пароль.

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

Если участник уже был корректно зарегистрирован на прошлой олимпиаде, и его данные не изменились, рекомендуется не проводить повторную регистрацию, а использовать тот же самый логин и пароль. Это позволит в дальнейшем отслеживать все достижения данного участника.

Начало соревнований

Для участия в олимпиаде необходимо:

  1. Выбрать пункт главного меню турниры
  2. Выбрать в списке пункт "Муниципальная олимпиада текущий год" или на пробном туре "Муниципальная олимпиада текущий год пробный тур"
  3. Нажать кнопку участвовать, расположенную под списком После этого напротив названия олимпиады должно появиться слово "участник".

Кнопка участвовать с идентичной функцией имеется также под списком задач.

Просмотр задач и отправка решений

После начала олимпиады участник может:

  1. Выбрать пункт меню задачи (или ссылку задачи справа от названия турнира).
    1. В появившемся списке выбрать задачу, чтобы просмотреть её текст,
    2. либо выбрать пункт задачи для печати для просмотра всех задач в одном окне.
  2. Отметить одну из задач.
    1. Указать файл с решением,
    2. либо скопировать решение в поле "Текст решения:". Этот способ не работает для языка Java.
  3. Выбрать среду разработки. Если на проверку отправляется файл, то система может попытаться автоматически определить среду разработки по его расширению.
  4. Нажать кнопку отправить для отправки решения на проверку.
  5. Наблюдать за процессом и результатом проверки, открыв окно по ссылке "Просмотреть результат попытки".

Участник может несколько (не более 20) раз отправлять решение одной и той же задачи, при этом окончательным считается последнее отправленное решение. Приём решений автоматически заканчивается в момент окончания олимпиады, поэтому решения следует отправлять в систему заблаговременно.

Проверка решений

Проверка решений состоит из двух этапов, предварительной и окончательной проверки.

Во время предварительной проверки решения проверяются на тестах, приведённых в условии задачи. Это делается для того, чтобы убедиться, что участник отправил решение нужной задачи и правильно организовал ввод/вывод.

Во время окончательной проверки все решения тестируются на полном наборе тестов, и определяются окончательные результаты. Правила проверки и оценки результатов более подробно описаны в документации проверяющей системы.

Предварительная проверка каждого отправленного решения осуществляется сразу после отправки задачи. Окончательная проверка всех решений производится после окончания тура

Значения вердиктов проверяющей системы рассмотрены в документации.

Просмотр результатов

Как во время, так и после олимпиады участник может:

  1. Выбрать пункт главного меню консоль, где можно просмотреть список отправленных решений, результаты их проверки и сообщения жюри.
  2. В режиме консоли выбрать одно из отправленных решений, чтобы просмотреть подробные результаты проверки по каждому тесту.
  3. В этом же режиме просмотреть исходный код своих решений, на случай его утери на локальном компьютере.
  4. Выбрать пункт главного меню результаты, чтобы просмотреть общую таблицу результатов по всем участникам. Во время олимпиады в этой таблице будут отображаться только результаты самого участника (т.е. он не будет видеть, какие задачи решают остальные).
После завершения окончательной проверки таблица будет содержать полные результаты олимпиады. Полная проверка и публикация результатов обычно выполняется в течении суток после завершения олимпиады.

Во время пробного тура полные результаты проверки доступны всем участникам немедленно.

Вопросы к жюри

Во время олимпиады участник может задавать жюри вопросы по условию задач с помощью поля "Вопрос к жюри" в режиме консоли.

Вопросы должны относиться к условию задачи и, по возможности, формулироваться так, чтобы ответ был либо "Да" либо "Нет". Если жюри считает, что ответ на вопрос содержится в условии задачи или что вопрос не относится к условию задачи, оно отвечает "см. условие" или "без комментариев". Если в результате вопроса обнаружилась неточность в условии задачи, сообщение об этом будет отправлено всем участникам.

Вопросы по возможностям языков программирования, работе со средами программирования, операционной системой и браузером, а также по интерфейсу системы участник должен задавать дежурному преподавателю, который должен обладать достаточной квалификацией, чтобы на них ответить.

В случае, если у дежурного преподавателя имеются сомнения по любому возникшему техническому или организационному вопросу, региональное жюри рекомендует немедленно обращаться по электронной почте, мессенджеру или телефону.

Организация

Продолжительность олимпиады

Время проведения олимпиады составляет 5 астрономических часов. (Время пробного тура -- 3 часа). В течение этого времени участники должны находиться за компьютерами. Участник может покинуть олимпиаду раньше её окончания, но не может после этого вернуться и продолжить участие.

В случае необходимости посещения туалета или медицинского пункта участника должен сопровождать преподаватель.

Рекомендуется обратить внимание на доступ свежего воздуха в помещения олимпиады, а также обеспечить участников питьевой водой.

Ограничения

Во время олимпиады участники могут пользоваться бумагой и письменными принадлежностями, а также программным обеспечением, установленным на их компьютерах. Рекомендуется обеспечить участников чистой бумагой в клетку.

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

Участникам запрещено использовать любые сайты, кроме сайта проверяющей системы. Если это требование невозможно обеспечить технически (например, с помощью настройки системы контроля доступа), то за его выполнением должен следить дежурный преподаватель.

Во время тура участники могут общаться только с жюри (через интерфейс тестирующей системы) либо с дежурным преподавателем. Отправленные решения будут проверяться на предмет списывания у других участников.

Нарушение перечисленных ограничений во время основного тура ведёт к дисквалификации участника.

Организатор площадки

Организатор площадки должен:

  1. До начала тура зарегистрироваться в проверяющей системе, указав в поле "Имя участника" полные фамилию, имя и отчество русскими буквами через пробел (например "Петрова Марина Ивановна").
  2. Сообщить логин (НЕ пароль) и название своей площадки представителю регионального жюри.
  3. Убедиться, что участникам выделены учётные записи в операционной системе, не допускающие общего доступа к локальным сетевым ресурсам.
  4. До начала тура проверить работоспособность компьютерной техники, языков и средств программирования, доступность проверяющей системы и недоступность прочих сайтов, пользуясь компьютерами и учётными записями участников.
  5. Обеспечить доступ участников на площадку, инструктаж участников перед туром, рассадку по аудиториям и компьютерам.
  6. Выступать в качестве дежурного преподавателя и/или назначить дежурных преподавателей, по одному на аудиторию.
  7. После того, как участники зарегистрировались в тестирующей системе, удостоверить личность каждого участника и её соответствие указанному при регистрации имени, основываясь либо на личном знакомстве, либо на удостоверяющем документе с фотографией.
  8. После регистрации всех участников:
    1. войти в тестирующую систему, выбрать турнир, зайти на вкладку "участники";
    2. В случае отсутствия предварительной централизованной регистрации участников:
      1. отметить участников со своей площадки чекбоксами, расположенными слева от фамилий (для фильтрации рекомендуется пользоваться подпунктом меню "без площадки");
      2. выбрать свою площадку в выпадающем списке слева от кнопки "установить площадку";
      3. нажать кнопку "установить площадку";
    3. убедиться в верности значения в столбце "Площадка" для всех своих участников (для фильтрации рекомендуется пользоваться подпунктом меню "моя площадка");
    4. при обнаружении участников чужой площадки, ошибочно зачисленных на свою площадку, отметить их, затем очистить выпадающий список слева от кнопки "установить площадку" и нажать эту кнопку;
    5. при обнаружении участников своей площадки, ошибочно зачисленных на чужую площадку, обратиться к представителю регионального жюри;
    6. для всех участников своей площадки, присутствующих лично и допущенных к участию, снять отметки в столбцах "Внек." (внеконкурсный) и "Дист." (дистанционный);
    7. нажать кнопку "сохранить атрибуты";
    8. перейти на вкладку "площадки";
    9. сверить число в столбце "Участники" с численностью явившихся участников (число в скобках, если оно присутствует, обозначает количество внеконкурсных участников);
    10. перейти по ссылке "результаты", убедиться что в столбце "статус" отсутствуют пометки;
  9. Во время тура, при обнаружении недопустимого поведения либо грубого нарушения правил со стороны участника, удалить его с площадки, установить отметку столбце "Внек." (внеконкурсный) и нажать кнопку "сохранить атрибуты".
  10. В случае, если участник изъявил желание покинуть тур до его окончания,
    1. разъяснить ему невозможность отменить это решение,
    2. сопроводить его из аудитории,
    3. в таблице участников нажать на прочерк в столбце "Время" строки этого участника,
    4. в появившейся таблице сдвига времени нажать кнопку "завершить участие сейчас",
    5. убедиться, что в таблице участников в столбце "Время" появилось отрицательное смещение на период, оставшийся до конца тура.
  11. В случае, если участник потерял часть времени по не зависящим от него причинам (поломка компьютера, организационные проблемы), отметить точное время начала и окончания периода потерянного времени и немедленно сообщить о проблеме в региональное жюри.

Дежурный преподаватель

Дежурный преподаватель должен:

  1. Перед началом тура убедиться, что участники умеют пользоваться компьютером, знакомы с правилами олимпиады, интерфейсом тестирующей системы, структурой и типами задач, в том числе задачами с открытым входом.
  2. Для участников, не знакомых с тестирующей системой, провести краткий инструктаж.
  3. Напомнить участникам о необходимости использования файлового ввода/вывода, при необходимости дообучить их, пользуясь инструкцией.
  4. В течение всей олимпиады находиться в аудитории, где она проходит.
  5. Сообщить региональному жюри свой номер телефона, принимать на него звонки во время тура.
  6. Следить за порядком в аудитории и соблюдением правил участниками.
  7. Реагировать на возникающие технические неполадки, по возможности их устранять или предоставлять участнику другой компьютер.
  8. Отвечать на вопросы, не связанные с условием задач.
  9. При необходимости обращаться к представителю регионального жюри (телефон/Telegram: +7914-791-29-88, email: klenin@gmail.com, Кленин Александр Сергеевич)

Повышенная нагрузка на систему

В связи с большим количеством планируемых участников, нагрузка на проверяющую систему существенно возрастёт, особенно в начале тура при входе участников в систему.

В случае, если скорость реакции системы снизится, рекомендуется:

  1. Подождать реакции системы не менее 15 секунд.
  2. Повторить последнее действие (или обновить страницу в браузере) не менее чем через 30 секунд. Обратите особое внимание -- слишком частое повторение запросов (обновление страницы) в момент повышенной нагрузки может ещё более усугубить ситуацию.
  3. Закрыть окно с таблицей результатов, чтобы по возможности большая часть ресурсов системы была посвящена приёму задач на проверку.
  4. Если перечисленные меры не помогают в течение 5-7 минут, обратиться к представителям регионального жюри.

Организация в случае ограниченного интернет-соединения

Ограниченное интернет-соединение представляет серьёзные трудности для проведения олимпиады. В первую очередь рекомендуется провести работу по квалифицированной настройке соединения, чтобы обеспечить его полноценную работу.

Если это совершенно невозможно, дежурный преподаватель должен во время олимпиады работать на компьютере, подключенном к интернет, и при этом:

  1. Перед началом олимпиады самостоятельно зарегистрировать всех участников согласно правилам, указанным в разделе "регистрация". Запомнить или записать введённые логины и пароли для каждого участника.
  2. Непосредственно после начала олимпиады просмотреть список задач (ссылки "задачи"/"задачи для печати") и либо сохранить страницу со списком на диск и передать её участникам, либо распечатать по одному экземпляру на участника.
  3. Во время олимпиады по запросу участников собирать их решения с помощью локальной сети или переносного носителя. Отправлять собранные решения в систему, каждый раз заходя в неё под логином соответствующего участника.
  4. Не менее чем за 10 минут до окончания олимпиады собрать и отправить все решения всех участников, чтобы избежать опоздания при отправке большого количества решений в последние минуты тура.
  5. Внимательно следить за соответствием между авторством решения и логином участника. В случае, если допущена ошибка, немедленно после её обнаружения сообщить о ней представителю регионального жюри.

Особенности задач

Задачи основного тура разрабатываются жюри региональой олимпиады. Задачи пробного тура являются простейшими задачами, взятыми из предыдущих олимпиад.

Общая структура задач соответствует стандартам, принятым в Российской Федерации, и включает:

  1. Название задачи
  2. Имена входного и выходного файла, указание на использование стандартного ввода/вывода либо интерактивного режима проверки
  3. Ограничения по занимаемой памяти и времени работы программы
  4. Текст условия
  5. Ограничения на размер входных данных задачи
  6. Формат входного файла
  7. Формат выходного файла
  8. Примеры тестов

Решением задач традиционного формата является исходный текст программы, состоящей из одного файла и являющейся консольным приложением. Программа должна считывать данные из входного файла и записывать результаты в выходной файл.

Поскольку проверка решений осуществляется автоматически, любые отклонения от указанных форматов приводят к тому, что решение будет признано неверным, даже если запрограммированный алгоритм соответствует условию задачи.

В частности, следует обратить внимание, что программы, вводящие данные с клавиатуры (за исключением задач со стандартным входом), или пытающиеся воспользоваться оконным интерфейсом, будут набирать 0 баллов.

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

Задачи с открытым входом

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

В качестве решения задачи с открытым входом может быть сдана либо программа, либо непосредственно выходной файл, соответствующий предложенным исходным данным. Чтобы отправить выходной файл, участнику следует выбрать среду разработки "Answer text".

Решения задач с открытым входом сначала проверяются на соответствие формату вывода, а затем, если формат признан правильным, на (возможно, частичное) совпадение с правильным ответом. Таким образом, чтобы набрать ненулевой результат, участник должен полностью выполнить требования формата даже в случае частичного решения. Например, если по условию выходной файл должен содержать 10 чисел, но участник смог вычислить только 5 из них, вместо неизвестных ему чисел следует вписать нули.

Интерактивные задачи

Участникам могут быть предложены интерактивные задачи. Решением интерактивной задачи является программа, взаимодействующая со специальной программой жюри, которая называется "интерактор". Для каждого теста программа участника должна отправлять интерактору один или несколько запросов, получать на них ответы, вычислять решение задачи, отправлять решение интерактору и завершать работу.

Программа участника отправляет сообщение серверу с помощью стандартного вывода и получает ответы с помощью стандартного ввода. В отличие от прочих задач, решение интерактивной задачи НЕ должно использовать файлы. Каждое сообщение должно заканчиваться символом перевода строки.

После каждого переданного сообщения программа участника должна выполнить сброс буфера вывода. Ниже приведены способы сброса буфера для некоторых языков программирования. См. также инструкцию по организации ввода-вывода.

PascalCC++JavaPython
Flush(output); fflush(stdout); cout.flush(); System.out.flush(); sys.stdout.flush()

Подведение итогов

Итоги олимпиады подводятся отдельно по каждому муниципальному образованию. Жюри олимпиады каждого муниципального образования оформляет протокол с указанием количества баллов, набранных каждым участником.

Если олимпиада проводится на нескольких площадках в рамках одного муниципального образования, итоги должны подводиться по общему списку со всех площадок.

Муниципальное жюри также определяет победителей и призёров олимпиады согласно Положению о Всероссийской олимпиаде школьников. Жюри регионального этапа проверяет соответствие представленных муниципальными жюри протоколов с общей таблицей результатов.

Жюри регионального этапа готово оказать техническую поддержку -- в частности, публикует отдельные таблицы результатов по каждому муниципальному образованию. Однако, ответственность за официальные результаты, в особенности за правильную идентификацию участников и самостоятельное решение ими задач, несут жюри и организаторы муниципальных образований.

Публикация материалов олимпиады

Все тесты и эталонные решения жюри будут опубликованы на сайте системы после подведения итогов олимпиады.

Обратная связь

Жюри олимпиады с интересом рассмотрит замечания, предложения и сообщения ошибках.