Доклад АКТО-2012 Душкин, Смирнова
DESCRIPTION
Применение инструментов символьных вычислений для проверки решений задач из курсов для конструкторов и технологов в интеллектуальной обучающей веб-системе «Волга»TRANSCRIPT
Применение инструментов символьных вычислений для проверки решений задач из
курсов для конструкторов и технологов в интеллектуальной обучающей веб-системе
«Волга»
Смирнова Н.В., Душкин Д.Н.
ИПУ РАН им. В.А. Трапезникова
2012
Автоматизированная проверка развернутых ответов обучаемого
• Современные ведущие системы дистанционного обучения имеют существенные ограничения на форму ответов обучаемых.
Автоматизированная проверка развернутых ответов обучаемого
• Используются тесты, поля ввода ответа, ввод ответа в виде программного кода.
Автоматизированная проверка развернутых ответов обучаемого
Автоматизированная проверка развернутых ответов обучаемого
• В ИОС «Волга» реализована проверка символьных ответов обучаемых.
• Ввод осуществляется либо в графическом режиме, либо в формате LaTeX.
6
Скриншот интерфейса
Скриншот интерфейса
Техническая платформа системы
• Архитектура «клиент-сервер»
• Клиент:
– Браузер: Google Chrome, Firefox, Opera, Internet Explorer 9+
– Отзывчивый интерфейс за счет технологии AJAX
Техническая платформа системы
• Сервер:
– Язык программирования Python
– Платформа (фреймворк) Django
– Python-библиотека символьных вычислений SymPy
Проверка решений студентов
Проверка решений студентов
Шаг студента правилен, если формула, введенная студентом, эквивалентна формуле соответствующего этапа.
x + y = 5 y +x = 5
Для того, чтобы проверить с помощью SymPy, эквивалентны ли
и
нужно написать такую команду
if (simplify((x + y - 5) – (y + x - 5)) == 0)
Проверка решений студентов
Иногда преподаватели могут требовать от студента более развернутого решения
Возникает проблема соотнесения шагов студента с шагами решений, заложенных в обучающей системе
Постановка проблемы
Проверка решения на развернутость
Эвристика сравнения формулы шага студента с «обязательной формулой»
Пример использования эвристики
Пусть студент ввел формулу В этой формуле 6 арифм. знаков, столько же знаков в формулах (2) и (3) Далее сравниваем формулу студента с формулами (2) и (3)
2 2( , ) ( 4) ( 4)p a b
Пример использования эвристики
Студент ввел формулу Сравним формулу студента и формулу (2), которая имеет вид Упрощенная разность формул не сводится к 0 -> шаг студента не совпадает с «обязательной» формулой (2)
2 2( , ) ( 4) ( 4)p a b
2 2( , ) (1 5) (2 6)p a b
Обсуждение предложенного способа проверки решений
Как можно описать класс выражений, для которых функция simplify всегда выдает результат? Разработчики SymPy: обычно выражение не упрощается по одной из следующих причин: 1) требуемое упрощение очень сложное, 2) упрощение неприменимо для некоторых значений переменных*
*В процессе работы simplify не используются упрощения, которые не являются применимыми для всех комплексных чисел.
Например, верно только тогда, когда x – положительное число. Этих ограничений можно избежать путем дополнительных настроек.
x x
Спасибо за внимание!