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

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

IDE — облачная среда разработки в браузере: студент пишет код, запускает его в изолированной среде и получает автопроверку и подсказки AI.

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

IDE в LMS: условие задачи над iframe, ниже — файлы, редактор и результат

IDE в LMS: условие задачи над iframe, ниже — файлы, редактор и результат

  • Файлы — дерево файлов проекта (заготовка от автора).
  • Редактор — подсветка синтаксиса, номера строк, автоотступы; вкладки открытых файлов.
  • Помощь от AI — вкладка с AI-ассистентом.
  • Запустить — компиляция и выполнение кода; если настроен эталонный вывод, результат сразу сравнивается с ним. Для проектных сред вместо «Запустить» может отображаться команда запуска.
  • Проверить решение — обращение к ИИ за разбором решения и стиля кода после успешного запуска. Зачёт определяется настроенной автопроверкой.
  • Иконки справа: копировать код, сбросить к заготовке, полноэкранный режим.
  • Результат — статус («Успешно выполнено» / «Ошибка компиляции»), вывод программы, ошибки.

При ошибке компиляции — Объяснить: AI разбирает причину ошибки и подсказывает, как исправить

При ошибке компиляции — Объяснить: AI разбирает причину ошибки и подсказывает, как исправить

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

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

ЗаготовкаЭталон
Что этоЗадание, которое получает студентЗадание с полным правильным решением
КодСтартовый код с пропусками (// TODO), точка входа, структура проектаТот же проект, полностью решённый
Кто видитСтудент (встраивается в LMS)Используется ИИ для проверки; в задачнике может отображаться во вкладке «Решение от автора»

Порядок настройки:

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

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

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

Верхняя панель: поле Название задания (обязательное), Добавить описание (видно только автору), бейджи типа (IDE, Выбор языка), Сохранить, меню ⋮.

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

Параметры IDE​

Параметры IDE

Параметры IDE

  • Тип задания — среда запуска и проверки. Можно изменить после создания.
  • Язык программирования — язык решения; Авто — определяется автоматически.
  • Только просмотр (read-only) — код нельзя редактировать и запускать, AI-ассистент доступен. Для демонстрации примеров.

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

Файлы с кодом

Файлы с кодом

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

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

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

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

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

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

подсказка

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

Лимиты​

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

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

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

На скриншоте показаны прежние названия этих переключателей; в актуальной форме используются названия выше.

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

примечание

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

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

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

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

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

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

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

Отладка — технические сведения о задании: пространство, папка, имя, UID, среда выполнения, тип, язык и даты создания и изменения. Эти данные помогают точно указать задание при обращении в поддержку. Для поддерживаемых типов также отображаются использования задания.

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