Система автоматической проверки лабораторных работ

… или сапожник без сапог в лабутенах

CI/CD
LMS
новые образовательные технологии
Проект, исппользующий современные подходы непрерывного развертывания CI/CD и ML для автоматизации контроля процессов непрерывного обучения :)
Author

i2z1@ddslab.ru

Published

April 25, 2024

https://i2z1.quarto.pub/checklab/

Зачем

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

Выявление ошибок, особенно мелких, сомнения в выполненных студентами расчетах и оценках показателей, сложность в воспроизведении результатов работы в целом – что может сильнее демотивировать преподавателя студента?)

На практических занятиях, которые я веду, принята парадигма воспроизводимых отчетов (Quarto/Rmarkdown Notebooks – аналог Jupyter notebook). Отчет содержит как описательную часть, так и программный код, с помощью которого получены результаты работы. При этом, код выполняется прямо “в отчете” и туда же вставляются результирующий вывод работы программного кода (мы используем язык программирования R).

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

Как

Воспроизводимость работ (запуск отчета в виде Quarto ноутбука) позволяет – если все сделано правильно студентом – убедиться что код в отчете рабочий и результат вычислений совпадает с ответом на задание.

Система написана на языке программирования R.

Для автоматизированной проверки используется Gitlab CI/CD, которая по расписанию запускает систему проверки лабораторных работ.

В ходе ее работы:

  1. Клонируются репозитории студентов с отчетами
  2. Проверяются отчеты по формальным признакам: правильность оформления, наличие нужных разделов отчета и т.д.
  3. Собирается (компилируется) сам отчет и проверяется результат
  4. Строится итоговый отчет в виде веб-приложения
  5. Отчет (веб-приложение) публикуется на хостинге – https://i2z1.quarto.pub/checklab/

Дальше – проверка успешных, с точки зрения системы, отчетов преподавателем.

Планы

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

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