Как пользоваться информатиксом
Задачи | Гость | Школьник | Команда | Учитель | Авторизованный учитель | Редактор |
---|---|---|---|---|---|---|
Просмотр материалов сайта | + | + | + | + | + | + |
Просмотр закрытых материалов | при наличии ключа | при наличии ключа | при наличии ключа | при наличии ключа | ||
Сдача решений в тестирующую систему | + | во время виртуального турнира | + | + | ||
Просмотр списка посылок | + | + | + | + | ||
Просмотр текстов и протоколов своих программ | + | + | + | + | ||
Просмотр чужих посылок | + | |||||
Создание групп школьников | + | + | ||||
Создание своих курсов и материалов | + | + | ||||
Создание задач | + | + | + | + | + | |
Редактирование условий, разборов, тем | + | |||||
Предложение новых тем к задаче | + | + | + | + | + | |
Создание мониторов | + | + | ||||
Комментирование посылок участников | + | + | ||||
Редактирование статусов посылок | + |
Авторизованный учитель
Авторизованный учитель имеет возможность просматривать все посылки участников (исходные коды, протоколы и тесты). Им могут стать учителя и руководители кружков после аккредитации (инструкция чуть ниже). К сожалению, если вы ведете частную преподавательскую практику (например, как репетитор или готовите друзей и близких по какой-то теме), статус авторизованного учителя не будет выдан.
Чтобы получить статус авторизованного учителя, зарегистрируйтесь как учитель, познакомьтесь с возможностями сайта в этом режиме (возможно, вам их будет достаточно) и заведите тикет https://informatics.msk.ru/support/, приложив следующую информацию о себе:
- Вашу ФИО, город, образовательную организацию
- Логин и привязанную к нему почту на информатиксе в рамках учетной записи (проверьте в личном кабинете, что эта почта действительно привязана)
- Ссылку на страницу образовательной организации, в которой вы работаете
- Ссылку на свой курс на информатикс (или тот, который проходите с учениками)
- Ссылку на группу школьников, проходящих ваш курс (url должен содержать подстроку group_id), в случае если у вас не ваш курс
В рамках этой роли мы просим не публиковать и не распространять тесты к задачам, не изменять статусы посылок не ваших учеников.
Просмотр списка посылок
В каких разрезах можно смотреть списки посылок:
- по данной задаче (список посылок всех пользователей, можно попасть с страницы с условием задачи, кнопка в правом верхнем углу "Посылки по задаче")
- по задачам данного контеста (список посылок всех пользователей по выбранному контесту, можно попасть с страницы с условия любой задачи из контеста, кнопка в правом верхнем углу "Все посылки")
- по задачам данного контеста с фильтром по вашей группе (список посылок всех пользователей, можно попасть с страницы с условием задачи, кнопка в правом верхнем углу "Все посылки" и далее в списке ниже выбрать фильтр по вашей группе, или, если используете механизм "Запись на курс" сделать фильтр по нему)
- все собственные посылки по всем задачам ("Мои посылки" на главной странице)
Редактирование задач
Отдельным пользователям дополнительно предоставляются права редактора сайта. Эти пользователи могут редактировать условия и разборы всех задач, а также указывать новые и редактировать старые темы, отнесенные к задаче. Если вы не редактор и нашли ошибку, заведите, пожалуйста, тикет https://informatics.msk.ru/support/
Создание групп
Для фильтрации результатов ваших учеников от остальных пользователей сайте есть 2 механизма:
- Вы создаете собственный курс и настраиваете запись/записываете учеников на курс (раздел "Участники", шестеренка в правом верхнем углу, "Настроить запись"). После этого в таблице результатов и всех посылках у вас есть фильтр "Все записавшиеся на курс". По его нажатию и произойдет отображение результатов только ваших учеников.
- Вы не создаете собственный курс, а проходите с учениками уже существующий. Вы можете объединить школьников в группы. У вас, как у создателя группы, и у всех включенных вами в группу участников на странице каждого контеста появятся новые ccылки в разделе "Список групп"
Группу может создать учитель/авторизованный учитель. В группу можно включать как школьников, так и других учителей (при этом изменять состав группы может только ее создатель или администраторы сайта).
Для того, чтобы создать группу:
- На главной странице в правом столбце выберите "Управление группами".
- На открывшейся странице выберите "Создать группу"
- Введите название группы (например, "Школа 125, 9А, 2020") и нажмите на кнопку создать.
- В правом окне размещен список всех пользователей сайта. Выберите нужных вам участников и перетащите их в левую часть. Для поиска нужных людей вы можете воcпользоваться сортировкой по любому столбцу (для этого нажмите на его заголовок) а также поиском в столбце (для этого наведите курсор на правый конец заголовка столбца, выберите появившуюся стрелочку, выберите в меню "Фильтр" и введите текст для поиска (например, фамилию ученика, номер школы или город).
- Найти нужного школьника и перетащите его в левую таблицу. Он сразу же будет добавлен в группу.
- Чтобы исключить школьника из группы, нужно перетащить его из левой таблички в правую.
Создание курса
Курс может создать учитель/авторизованный учитель. Курс может включать в себя несколько разделов, состоящих из материалов различного типа: контестов, теоретических материалов, тестов, заданий, ссылок на файлы и веб-страницы, таблиц результатов и т.д. Ссылки на все созданные курсы отображаются на главной странице в разделе "Кружки и уроки".
Для создания нового курса заполните приведенную форму. Слева от каждого блока есть знак вопроса - при наведении на него курсора откроется текстовая подсказка с пояснением, что происходит :) В дальнейшем вы всегда сможете изменить любой из указанных параметров курса.
Информация ниже относится к предыдущей версии сайта, местами может не соотвествовать новой версии. Постараемся скоро поправить.
Добавление учебных материалов
Для начала редактирования курса нажмите кнопку Редактировать в правом верхнем углу на страничке курса.
Курс состоит из вводного раздела (без номера), в котором собрана информация и материалы, относящиеся ко всему курсу целиком, а также пронумерованных разделов (1, 2, 3, ...) каждый из которых может соответствовать по вашему желанию одному занятию, одному классу, одному мероприятию и т.п.
Для указания названия (или вступления) к разделу, нажмите на в левом верхнем углу соответствующего раздела. В этом поле вы можете написать любой текст в формате html, например:
<b>Условный оператор</b><br>Задачи этого раздела нужно сдать до 5 февраля.
или просто указать название раздела, например:
Условный оператор
Далее, в каждый раздел вы можете добавить различные учебные материалы, выбрав соответствующую строчку в выпадающем меню. Приведем краткие описания наиболее полезных видов материалов.
- Условия задач: контест, составленный из задач, имеющихся в тестирующей системе сайта. Школьникам будут доступны условия задач и возможность сдачи решений в тестирующую систему. Отметим, что эти материалы являются основным содержанием сайта, и мы надеемся, что вы будете создавать курсы с использованием задач с автоматическим тестированием.
- Таблица результатов: сводная таблица по нескольким контестам для данной группы.
- Пояснение: небольшой фрагмент текста на странице курса (в формате html)
- Текстовая страница: отдельный текстовый документ, который вы планируете написать, со ссылкой на него со страницы курса.
- Веб-страница: то же, но в формате html
- Ссылка на файл или веб-страницу: ссылка на существующую страницу в сети интернет или на страницу или файл на данном сайте. Вы также можете предварительно закачать файлы в свой курс и поставить ссылку на них.
Также вы можете создавать тесты, задания. опросы и т.п.
После создания любого материала справа от него появятся значки: перенести вправо (сделать отступ), перенести (в другое место курса), редактировать (сам материал и/или его настройки), удалить, спрятать (от школьников).
Создание контеста
Контест - это набор задач на одну тему, либо предлназначенный для решения на одной олимпиаде, тренировке итп.
Для каждого контеста доступна своя таблица результатов, а также список посылок, сделанных школьниками по задачам данного контеста. Одна задача может входить в разные контесты, при ее решении результаты (в таблице результатов и списке посылок) появляются сразу во всех контестах, содержащих данную задачу.
Для создания контеста выберите в выпадающем меню Добавить ресурс в соответствующем разделе вашего курса пункт Условия задач. В поле название укажите заголовок контеста (например: Условный оператор или Тренировка №5). Если вы планируете провести олимпиаду и контрольную работу, вы можете отметить флажок Не показывать разборы, темы и т.д. - в этом случае школьникам не будут показываться различные подсказки.
Если вы пока не хотите открывать данный контест для школьников, выберите в пункте Доступные вариант Спрятать.
Нажмите кнопку Сохранить.
После этого вы сможете выбрать задачи для данного контеста. Для этого есть два основных способа:
-
Выбрать задачи из тематического рубрикатора. После перехода по данной ссылке вы попадете в тематический рубрикатор. Там присутствуют не все, но большая часть задач, имеющихся в тестирующей системе, и он постоянно пополняется. Под каждой задачей есть ссылка добавить, которая перемещает данную задачу в ваш контест. После выбора всех необходимых задач нужно нажать ссылку Создать контест в левом верхнем углу.
-
Добавить задачи по id (идентификационному номеру). Вы можете предварительно выбрать интересующие вас задачи в других разделах сайта и выписать себе их номера, а затем ввести их, перейдя по данной ссылке.
Продвинутым пользователям, знакомым со структурой контестов в ejudge данного сайта, доступна также возможность выбирать задачи непосредственно из контестов в тестирующей системе.
После выбора задач вы можете менять их порядок и удалять или скрывать те или иные задачи.
О задачах
Задача - это основной объект на данном сайте. Данный сайт в первую создавался в первую очередь как база задач по программированию для школьников с автоматической проверкой. Чтобы успешно использовать его в своей деятельности, необходимо прежде всего понять, что такое задача и как она устроена.
Структура задачи
Каждая задача включает в себя:
- Id - уникальный числовой идентификатор, по которому вы можете получить доступ к данной задаче из окошка на главной странице, по которому вы можете добавить задачу в контест и который удобнее всего использовать при ссылке на данную задачу.
- Название задачи
- Условие задачи - хранится на сайте в формате html. Некоторые задачи опуликованы без условий, либо по лицензионным соображениям (задачи взяты из книг), либо потому что добавивший их учитель не хочет раньше времени показывать условие ученикам.
- Темы - большинству задач приписаны одна или несколько тем из Тематического рубрикатор. Вы можете предложить новые темы для каждой задачи, после одобрения администратором они будут прикреплены к задаче.
- Разбор - описание решения задачи. Как правило, разборы написаны школьниками-участниками сайта, и мы не несем ответственности за их содержание и грамотность. При этом данные тексты часто бывают полезны школьникам, поэтому пока мы оставили их на сайте в таком виде.
- Описание - краткий текст для учителя, описывающий задачу и/или ее решение.
- Тестирующий модуль: тесты и проверяющие программы - практически все задачи на сайте сопровождаются возможностью их автоматической проверки.
- Посылки - список всех посланных на проверку решений с указанием результатов проверки. Авторизованным учителям и администраторам также доступны тексты всех решений и тестов и правильных ответов. Остальным участникам доступны только тексты своих решений, протоколы проверки, а также - для некоторых задач, как правило, личных олимпиад начального уровня - тесты и правильные ответы.
- Результаты - таблица результатов по данной задаче. Одна и та же задача может присутствовать в разных контестах, при этом сдача решения в одном контесте влечет за собой появление информации о посылке и результатах данного участника по данной задаче во всех контестах, куда входит эта задача.
Список всех ваших посылок доступен в меню на главной странице сайта (ссылка Мои посылки).
Создание задач
Задачи на сайт добавляются при помощи системы Polygon. Более подробно о добавлении задач на сайт можно прочитать в этой инструкции.
Редактирование задач
Отдельным пользователям дополнительно предоставляются права Редактор сайта. Эти пользователи могут редактировать условия и разборы всех задач, а также указывать новые и редактировать старые темы, отнесенные к задаче.
Кроме того, каждый пользователь может предложить добавить к задаче ту или иную тему из тематического рубрикатора. Эти предложения вступают в силу после авторизации администратором.
Мониторы
Иногда бывает удобно объединить в одну таблицу результатов несколько контеcтов (например, все уроки данного класса или два тура одной олимпиады).
Создание таких таблиц результатов делается в два шага.
-
Создание набора контестов (монитора). На главной странице в разделе Рабочий стол учителя пройдите по ссылке Управление мониторами, далее: создать монитор и укажите название создаваемого монитора. Выберите контесты, которые необходимо в него включить и перетащите их мышью из правой таблицы в левую.
-
Создание таблицы результатов. Находясь в своем курсе, нажмите кнопку редактировать, в нужном разделе в выпадающем меню Добавить реcурс... выберите пункт Таблица результатов. Укажите ее название, выберите в пункте Таблица результатов созданный вами в п.1 монитор, а в пункте Группа - интересующую вас группу школьников либо пункт Все участники. Нажмите Сохранить.
В мониторе указываются только те участники, которые сделали в указанных контестах хотя бы одну посылку, и только те контестых, в которых указанные участники сделали хотя бы одну посылку.
Чтобы сделать монитор по секретной ссылке, можно сделать следующее:
- найти id нужных контестов, например https://informatics.mccme.ru/course/view.php?id=34 — id это 34
- сгенерировать секретную ссылку, для этого нужно отправить POST-запрос на /py/monitor, с нужными параметрами
Параметры: contest_id=1&contest_id=2&contest_id=3 ... -- нужные id контестов aka модулей курсов group_id=4 -- группа, по которой делается монитор, если не указывать, будет по всем пользователям time_before=1521742439 -- время в timestamp, до которого собирать посылки time_after=1521742439 -- время в timestamp, после которого собирать посылки
Можно сделать это например с помощью js в консоли браузера на сайте информатикса:
url = 'https://informatics.msk.ru/py/monitor?contest_id=19635&group_id=11139'
jQuery.post(url, (data) => console.log(data))
> {link: "b1gefbmozwa72hasnj8z"}
или
url = 'https://informatics.msk.ru/py/monitor?contest_id=19635&group_id=11139&time_before=1521742439'
jQuery.post(url, (data) => console.log(data))
> {link: "g0fa6u928we50w1pdow9"}
Из запроса вернётся JSON с токеном для доступа к монитору
- Вставить токен вот сюда, https://informatics.msk.ru/py/monitor//render -- это будет собственно монитор, например https://informatics.msk.ru/py/monitor/b1gefbmozwa72hasnj8z/render https://informatics.msk.ru/py/monitor/g0fa6u928we50w1pdow9/render
Параметры: partial_score=on -- показывать баллы, например: https://informatics.msk.ru/py/monitor/b1gefbmozwa72hasnj8z/render?partial_score=on
Так же можно получить и чистый JSON: https://informatics.msk.ru/py/monitor/b1gefbmozwa72hasnj8z https://informatics.msk.ru/py/monitor/g0fa6u928we50w1pdow9
Чтобы сгенерировать ссылку, нужно быть авторизованным учителем; чтобы увидеть монитор, нужно быть залогиненым
Статусы посылок
После автоматического тестирования каждое решение получает статус проверки: OK, неполное решение, превышен лимит времени, превышен лимит памяти, и т.д.
Авторизованные учителя могут вручную изменять статус проверки. Обычно вручную устанавливаются следующие статусы:
- Ошибка оформления кода: этот статус устанавливается учителем, если ему не нравится, как отформатирован код, как названы переменные и т.п.
- Проигнорировано: этот статус означает, что учитель по тем или иным причинам не хочет засчитывать данное решение (например, использован не тот алгоритм итп)
- Дисквалифицирован: решение не засчитано по причине списывания и т.п.
Варианты статусов посылок
Сокращение | In English | Расшифровка |
---|---|---|
OK | OK | OK |
RJ | Rejudge | Перетестировать |
AC | Accepted for Testing | Зачтено/Принято |
SV | Style Violation | Ошибка оформления кода |
IG | Ignore | Проигнорировано |
CE | Compilation Error | Ошибка компиляции |
DQ | Disqualified | Дисквалифицировано |
PT | Partial Solution | Частичное решение |
PD | Pendin | Ожидает проверки |
RT | Run-Time Error | Ошибка во время выполнения программы |
TL | Time-Limit Exceeded | Превышено максимальное время работы |
PE | Presentation Error | Неправильный формат вывода |
WA | Wrong Answer | Неправильный ответ |
CF | Check Failed | Ошибка проверки, обратитесь к администраторам |
ML | Memory Limit Exceeded | Превышение лимита памяти |
SE | Security violation | Security error |
RU | Running | Проверяется |
CG | Cpmpilling | В очереди компиляции или компилируется |
AW | Awaiting | В очереди проверки |