Перейти к основному содержимому

Создание IDE-задания

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

Как IDE выглядит для студента​

IDE учебного задания: main.py, правильный код и зачтённый результат

  • Файлы — дерево файлов проекта (заготовка от автора).
  • Редактор — подсветка синтаксиса, номера строк, автоотступы; вкладки открытых файлов.
  • Кнопка запуска компилирует и выполняет код. Название зависит от среды: например, Выполнить или команда python main.py, как на снимке. Если настроен эталонный вывод, результат сразу сравнивается с ним.
  • Иконки справа позволяют скачать проект, копировать код, сбросить его к заготовке и перейти в полноэкранный режим.
  • Результат — статус, например Зачтено, Неверный вывод или Ошибка компиляции, вывод программы и ошибки.

При включённом ИИ-помощнике также доступны вкладка Помощь от AI и кнопка разбора кода. После успешного запуска она называется Проверить решение, в остальных случаях — Объяснить. Разбор помогает понять решение и ошибки; зачёт определяется настройками автопроверки. На снимке ИИ-помощник выключен.

Как выбрать проверку​

Начните с того, какой результат должен представить студент. Первое задание показывает простую проверку вывода без отдельного эталонного задания.

СпособКогда подходитЧто подготовить
Проверять вывод по эталонуУ программы есть заранее известный текстовый результатОжидаемый текст в поле Эталонный вывод
Тестовая среда: pytest, Python unittest, Cargo Test и другиеНужно проверить функции, несколько входных данных и граничные случаиТесты и файлы проекта в выбранной среде; см. примеры проектов
Использовать ИИ для проверки решенияНужен разбор подхода и соответствия требованиямТребования в комментариях к коду; при необходимости отдельное решение автора

Успешный запуск означает, что программа выполнилась без ошибки. Например, print(0) запускается, но не решает задачу на сумму 20 и 22. Для зачёта настройте проверку требований, а для записи зачёта в LMS — передачу результата.

Отдельное эталонное решение даёт ИИ ориентир; само его подключение не включает автопроверку. Тесты проверяют поведение кода и показывают отчёт выполнения; для передачи зачёта через SCORM учитывайте настройки экспорта.

Заготовка и эталонное решение​

Для задания с эталонным решением подготовьте два отдельных IDE-задания. Это рекомендуемый сценарий, когда ИИ должен опираться на решение автора. Автопроверку можно настроить и без отдельного эталонного задания: через ожидаемый вывод или требования для ИИ.

ЗаготовкаЭталон
Что этоЗадание, которое получает студентЗадание с полным правильным решением
КодСтартовый код с пропусками (// TODO), точка входа, структура проектаТот же проект, полностью решённый
Кто видитСтудент (встраивается в LMS)Используется ИИ для проверки; в задачнике может отображаться во вкладке «Решение от автора»
  1. Создайте в той же папке IDE-задание с решением (например, «Сортировка — эталон»): тот же тип и язык, полный рабочий код. Сохраните. В списке эталонов доступны IDE-задания текущей папки.
  2. Создайте IDE-задание заготовку (например, «Сортировка»): тот же тип и язык, стартовый код в Файлы с кодом.
  3. В заготовке откройте Проверка и решение → поле Эталонное решение → выберите задание из шага 1.
  4. Включите Использовать ИИ для проверки решения. Если требуется точное сравнение вывода, включите Проверять вывод по эталону и заполните поле Эталонный вывод ожидаемым результатом программы.
  5. Сохраните и встройте в LMS только заготовку.
подсказка

Запишите требования задания в комментариях к коду. Эталонное решение даёт ИИ дополнительный ориентир для проверки и объяснения ошибок. Если используете задачник, отдельно настройте видимость решения автора.

Интерфейс настройки​

В верхней панели задайте Название задания. Через Добавить описание можно оставить пояснение для себя и коллег. Здесь же расположены метки типа, кнопка Сохранить и меню ⋮.

Разделы настроек (меню слева): Параметры IDE · Файлы с кодом · Проверка и решение · Лимиты · Безопасность · Встраивание в LMS · Результаты · Отзывы · Отладка.

Параметры IDE​

Параметры IDE

  • Тип задания — среда запуска и проверки. Можно изменить после создания.
  • Язык программирования — язык решения; Авто — определяется автоматически.
  • Разрешить редактирование и запуск кода — выключите для демонстрации кода только для просмотра.
  • Разрешить управление файлами — показывает студенту кнопки создания, переименования и удаления файлов. Файлы только для чтения защищены. Переключатель недоступен, если редактирование и запуск выключены.
  • Включить ИИ-помощника — доступ к вопросам и объяснениям кода; при включении выберите Персонаж ИИ-помощника. Проверка решения с ИИ настраивается отдельно в разделе Проверка и решение.

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

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

Файлы с кодом​

Файлы с кодом

  • + Файл — создать файл, указав имя/путь (main.py, src/index.js).
  • Загрузить — загрузить файлы или проект. Нужен хотя бы один файл.
  • Выбранный файл по умолчанию — файл, открытый у студента при запуске.
  • Файлы только для чтения — видны студенту, но не редактируются (например, config.py).
  • Выделенные файлы — выделить файлы и папки в дереве студента, чтобы привлечь к ним внимание.
  • Раскрытие папок — начальное состояние дерева: Автоматически, Раскрыть все или Свернуть все.
  • Скрытые файлы — доступны для многофайловых сред; студент их не видит, но они используются при выполнении задания.

Если файлов ещё нет и для выбранной среды и языка есть пример, нажмите Загрузить пример. Он добавит исходные файлы и выберет открываемый файл; пустое название задания также заполнится. Кнопка не заменяет уже добавленные файлы. После загрузки адаптируйте пример под условие и сохраните задание.

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

Автопроверка и эталонное решение

  • Проверять вывод по эталону — вывод программы должен совпасть с текстом в поле Эталонный вывод. Поле появляется после включения проверки; пустое поле означает, что программа не должна ничего выводить. Ожидаемый вывод скрыт от студента.
  • Использовать ИИ для проверки решения — ИИ проверяет код после успешного запуска. Требования задания пишите в комментариях к коду.
  • Эталонное решение — выбор другого задания с правильным решением; ИИ использует его для проверки и объяснения ошибок.

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

подсказка

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

Лимиты​

Для IDE на Judge в блоке Ресурсы выполнения доступно поле Лимит времени выполнения, с. Укажите общее время выполнения одного запуска от 1 до 120 секунд и сохраните задание. Количество запусков на студента настраивается отдельно в блоке Лимиты на студента.

Лимит оперативной памяти, МиБ задаёт верхнюю границу потребления для компиляции, выполнения и дочерних процессов. Введите целое число от 1; пустое поле использует стандартный лимит 1024 МиБ. Это ограничение потребления, а не резервирование памяти.

Лимиты на студента

  • Ограничить запуски кода — максимум запусков в IDE на студента за период. Учитывается каждый запуск, даже если код не изменился.
  • Ограничить ответы ИИ-ассистента — максимум ответов с подсказками и объяснениями в IDE на студента за период.

Для каждого ограничения задайте Количество и Период: день, неделю, месяц, год или всё время. Календарные лимиты обновляются в начале периода по UTC.

примечание

Для анонимных студентов персональные лимиты запусков и ответов ИИ не действуют. Ограничения времени и памяти одного запуска сохраняются. Чтобы ограничивать количество попыток конкретного студента, используйте работу с входом в аккаунт.

Безопасность​

Безопасность

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

Результаты​

В разделе Результаты доступны текущие результаты студентов, оценки и статусы отправок. Подробнее — в инструкции по просмотру результатов.

Отзывы и Отладка​

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

В Отладке находятся технические сведения о задании: пространство, папка, имя, UID (уникальный идентификатор), среда выполнения, тип, язык и даты создания и изменения. Передайте их поддержке, чтобы она могла найти нужное задание. Для поддерживаемых типов здесь также показано, где используется задание.

Следующий шаг — встроить задание в LMS или добавить его в задачник. Полный пример заготовки и эталона приведён в задании на Rust.

Проверка перед публикацией​

  1. Сохраните настройки. У нового задания Предпросмотр появляется после сохранения.
  2. В предпросмотре проверьте исходную заготовку, правильное решение и типичную ошибку. Если используется ИИ, проверьте отдельно подсказку и итоговую проверку решения.
  3. Вернитесь в Редактирование. Убедитесь, что авторские файлы содержат заготовку, которую должен получить новый студент.
  4. Откройте опубликованную страницу LMS под отдельным тестовым студентом. Сеанс автора в админке не подтверждает, что вход студента настроен верно.
  5. Если переключатель Разрешить анонимную работу выключен, проверьте вход способом, предусмотренным вашей интеграцией. Вставка iframe сама по себе не передаёт идентификатор студента из LMS.
  6. Выполните задание, закройте и откройте его снова. Для персонального сценария проверьте сохранение результата и наличие отправки в Результатах нужного задания.
  7. Для SCORM дополнительно проверьте оценку и завершение учебного элемента в LMS. Результат в PumpRoom и его доставка в LMS — две отдельные проверки.

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