Содержание

Введение

На этой странице собираем выстраданные рекомендации по работе в Moodle - настройка, создание задач и прочее.

Автоматическая выгрузка успеваемости из курсов в гугл таблицу

https://github.com/OSLL/lms_grades_export/tree/main/moodle_export

Задачи CodeRunner

Прежде чем делать задачи, полезно почитать о том, как устроен сам сервер проверки https://github.com/trampgeek/jobe

Ошибка failed to map segment from shared object

Если при запуске скрипта проверки созданной вами задачи (равно как и при запуске студенческого решения) возникает примерно такая ошибка (ключевые слова failed to map segment from shared object):

ImportError: /usr/local/lib/python3.8/dist-packages/pandas/_libs/sparse.cpython-38-x86_64-linux-gnu.so: failed to map segment from shared object

то с высокой вероятностью проблема в том, что код проверки или решения выходит за рамки стандартного ограничения ОЗУ на отдельный процесс, которое устанавливает CodeRunner. Даже если, в поле «Advanced customisation / MemLimit (MB)» в настройке вопроса вы ничего не указывали (срабатывает стандартное ограничение).

В документации описано конкретное значение https://github.com/trampgeek/jobe#run_spec-parameters

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

Создание вопросов-прототипов (своих типов вопросов)

Подробно о том, как работают прототипы https://github.com/trampgeek/moodle-qtype_coderunner/blob/master/Readme.md#user-defined-question-types

Как создать свой прототип:

  1. Заходим в настройки любого теста (QUIZ) в вашем курсе. Открываем Question bank
  2. В «Select a category:» выбираем «Prototypes-custom»
  3. Нажимаем «Create a new question ….»
  4. В диалоговом окне выбираем тип «CodeRunner»
  5. Выбираем необходимый базовый тип в CodeRunner question type / Question type
  6. Выставляем галочку CodeRunner question type / Customisation / Customise
  7. В Advanced customisation / Prototyping / Is prototype? выставляем «Yes (user defined)»
  8. В Advanced customisation / Prototyping / Question type указываем желаемое имя для типа вопросов (например - fortran_programm)
  9. Заполняем описания в General и хотя бы один тест кейс в Test cases

Как редактировать прототипы:

  1. Заходим в настройки любого теста (QUIZ) в вашем курсе. Открываем Question bank
  2. В «Select a category:» выбираем «Prototypes-custom»
  3. Для интересующего нас вопроса выбираем в таблице Edit / Edit question

Тесты (Quiz)

Несоответствие набранных баллов и итога прохождения теста (не отображаются дробные баллы)

В ряде случаев настройки отображения баллов в тесте (quiz) могут сложится так, что в оценке не будет отображатся дробная часть (хотя фактически она будет). Пример:

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

Как исправить проблему -