Доклад АКТО-2012 Душкин, Смирнова

Preview:

DESCRIPTION

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

Citation preview

Применение инструментов символьных вычислений для проверки решений задач из

курсов для конструкторов и технологов в интеллектуальной обучающей веб-системе

«Волга»

Смирнова Н.В., Душкин Д.Н.

ИПУ РАН им. В.А. Трапезникова

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

Спасибо за внимание!

Recommended