Кадан А.М.,1 Кадан М.А.2
Гродненский государственный университет им.Янки Купалы, г. Гродно, Республика Беларусь, канд.техн.наук, заведующий кафедрой системного программирования и
компьютерной безопасности, [email protected] 2Гродненский государственный университет им.Янки Купалы, г. Гродно, Республика Беларусь, студентка факультета математики и информатики
Архитектура и функциональность интерактивного Internet-сервиса для компьютерного контроля знаний в
области математики
КЛЮЧЕВЫЕ СЛОВА
Компьютерный контроль знаний, Internet-сервис, пакет Maple, стандарт MathML, системы компьютерной математики.
АННОТАЦИЯ
Представлены требования к Internet-сервису контроля знаний в области математики. Описана архитектура системы и приведены краткие характеристики основных ее компонент. К особенностям предлагаемого подхода можно отнести отсутствие требования точного соответствия ответа пользователя эталонному ответу, замену анализа ответа пользователя постановкой задачи проверки возможности эквивалентного преобразования ответа к эталону и использование пакета символьной математики Maple или MathCAD для решения таких задач.
Введение
Не ослабевает интерес к Internet-системам компьютерной математики и специализированным математическим ресурсам, предоставляющим интерактивные математические сервисы [1], в том числе образовательные [2]. Традиционно подобные системы имеют встроенные средства оценки знаний с механизмами защиты от взлома, виртуальные классы, позволяющие преподавателю контролировать работу студентов, позволяют создавать примеры, анимированную графику, сервисы для ввода математических формул и многое другое. Они должны быть легко адаптируемы для обучения по другим дисциплинам, допускающим использование формализованных нотаций, — физике, астрономии, химии и т.п.
В рамках проекта создания элементов системы дистанционного образования Гродненского государственного университета разрабатывается Internet-ресурс интерактивной математики, цель которого — предоставить обучаемому совокупность интерактивных математических
сервисов, таких как примеры и упражнения, среды математических вычислений, инструментальные средства графической визуализации. Важное место в такой системе уделяется подсистеме компьютерного контроля знаний.
Требования к системе контроля знаний
Для решения проблемы компьютерного контроля знаний предложен ряд методик и создано большое количество программных систем, ориентированных как на локальный компьютер, так и на использование в среде Internet/intranet. Большинство подобных программных решений предлагает набор тестовых заданий, в которых испытуемый выбирает один или несколько правильных ответов из предложенного списка. Во многих случаях этого достаточно, чтобы оценить уровень теоретической подготовки испытуемого, однако подобные решения явно не эффективны для оценки уровня знаний в областях, где необходим ответ в свободной форме или для записи ответа необходимо использовать элементы языков специализированных нотаций, например в математике, физике, химии и т.п.
При попытке реализовать систему компьютерного тестирования, ориентированную на систему проектных нотаций предметной области, возникает ряд проблем, самые существенные из которых:
• обеспечение пользователю возможности ввода ответа с использованием системы обозначений, традиционно принятой в данной области знаний;
• предварительная обработка введенного ответа клиентским приложением тестирующей системы с целью контроля правильности синтаксиса введенных выражений;
• сравнение ответа пользователя с эталонным ответом. Введенный испытуемым ответ считается правильным не только при точном совпадении с эталоном, но и в случае, если он может быть сведен к эталонному ответу путем эквивалентных преобразований в рамках системы аксиом, соответствующих предметной области решаемой задачи.
Особенности архитектуры системы
Акцентируем внимание на основных аспектах, которые должны быть учтены при реализации архитектуры Internet-системы, предназначенной для решения указанных выше задач компьютерного тестирования:
3.Система должна быть клиент-серверным приложением, которое позволяло бы проводить дистанционный контроль знаний как в области высшей математики, так и в рамках школьной программы;
4.Взаимодействие пользователя с системой должно осуществляться посредством стандартного web-браузера без использования дополнительного программного обеспечения;
5.Пользователю должен быть предоставлен инструментарий для ввода математических выражений с использованием стандартно принятой
системы обозначений. Перед отправкой данных на сервер, испытуемый должен иметь возможность самостоятельно проверить синтаксическую правильность введенного ответа;
6.Для сравнения ответа пользователя с эталоном, которое заключается в исследовании возможности эквивалентного преобразования ответа к эталону и относится к кругу задач символьных преобразований, должен использоваться один из математических пакетов, допускающих символьные вычисления. Для связи клиентского приложения с используемым математическим пакетом необходимо разработать интерфейсный модуль и соглашения на формат передаваемой информации;
7.Должны быть разработаны методы постановки задач для проверки эквивалентности пар вида «ответ-эталон» для решения в среде используемого пакета. Очевидно, что они будут различаться для различных классов задач.
Принципы функционирования системы
В настоящее время разработан прототип системы для проведения тестового контроля знаний студентов и школьников в области математики.
В качестве стандарта обмена данными между компонентами системы выбран MathML [3] — специализированный язык разметки для представления структуры математических объектов. Документы со вставками MathML-кода отображаются большинством современных браузеров — Chrome, IE, Mozilla. Кроме того, современные версии математических пакетов — Maple [4], MathCAD, Mathematica — используют MathML как стандарт для экспорта/импорта данных.
При работе с системой испытуемый вводит свои ответы, используя встроенный в html-страницу Java-апплет. Апплет позволяет вводить математические формулы при помощи графического редактора формул, предоставляющего широкий выбор базовых обозначений для различных разделов математики: алгебры, теории множеств, дифференциального и интегрального исчисления, геометрии, рядов и т.д. Для работы со школьниками целесообразно разработать вариант упрощенного редактора формул, ориентированный на возможности и навыки этой категории пользователей. Введенный пользователем ответ преобразуется в MathML-строку и передается web-серверу.
Для обеспечения взаимодействия web-сервера и математического пакета, на который возложена задача исследования соответствия ответа пользователя эталону, используется специальный модуль, реализованный как COM-клиент. В его задачу входит получение ответа пользователя от web-сервера, извлечение эталонного ответа из базы данных, формирование задания для математического пакета, получение от него ответа, интерпретация ответа и передача его web-серверу.
Для удобства пользователя, ответ, передаваемый ему web-сервером, может быть представлен в формате MathML, что позволяет просматривать его в web-браузере в привычной для пользователя стандартной
математическом записи.
Характеристика компонент архитектуры системы
На рис.1 приведена схема архитектуры Шргпе^системы, ориентированной на тестовый контроль знаний в области математики. Приведем краткую характеристику модулей и связанных с ними процессов обмена данными, связанными с реализацией и функционированием такой системы.
Щ Result Hâta base
Answer Hjta hase
щ Browser
Applet
зй. Math "J п
'^■S PËjduçt
Рис.1. Схема архитектуры Internet-системы, ориентированной на тестовый контроль знаний в области математики Удалённый компьютер пользователя, подключенный к Internet- или к intranet-сети, должен иметь web-браузер, поддерживающий Java- и XML-скрипты. При работе с системой испытуемый вводит свои ответы, используя встроенный в XML-страницу Java-апплет. Апплет позволяет вводить математические формулы при помощи графического редактора формул, работающего в стиле WYSIWYG, по возможностям и интерфейсу схожим с надстройкой Microsoft Equation пакета Microsoft Office. Параллельно с вводом ответа, апплет формирует MathML-код, соответствующий представлению введенных пользователем данных. По завершению ввода MathML-код передается web-серверу для дальнейшей обработки.
Web-сервер хранит управляющую CGI-программу и шаблоны XML-
документов, передаваемых на удаленный компьютер пользователя. Основной шаблон XML-документа предназначен для получения ответа пользователя и содержит подключённую библиотеку объявления типов и Java-апплет.
Управляющая CGI-программа соединяется с сервером баз данных и извлекает постановку математической задачи, на базе основного шаблона формирует XML-документ и отправляет его тестируемому. Полученный ответ (в виде MathML-строки) отправляется COM-клиенту. После получения результата от COM-клиента о правильности ответа тестируемого, CGI-программа отправляет серверу баз данных запрос на сохранение результатов ответа пользователя.
COM-клиент предназначен для организации проверки правильности ответа пользователя и связи с используемым в системе пакетом символьной математики. COM-клиент, используя сервер баз данных, извлекает эталон ответа для решаемой задачи. Используя ответ пользователя, эталон и информацию о типе решаемой задачи, формирует задание для математического пакета. Принимает от пакета ответ, свидетельствующий о степени правильности решения, и передает его web-серверу для сохранения в базе результатов и/или отправки пользователю.
Сервер баз данных обеспечивает структурированное и защищённое хранение данных системы online-тестирования, позволяет вести работу с ними, используя язык SQL. Обеспечивает работу с базами заданий, эталонов ответов, результатов тестирования. Имеет набор хранимых процедур для сбора статистических данных.
Пример работы компонент системы
Ниже приведен пример, показывающий этапы работы тестирующей Интернет-системы. Пусть перед пользователем стоит задача решения неопределенного интеграла %sin(x)dx, и его ответ есть -cos(x)+C. Вебсервер получит его ответ в формате MathML, к примеру, такого содержания (см.рис.2): <apply>
<plus/>
<apply>
<minus/>
<apply>
<cos/>
<ci>x</ci>
</аРР1У>
</аРР1У>
<ci>C</ci>
</аРР1У>
Рис.2. Пример ответа пользователя в формате MathML COM-сервер получает данные ответа пользователя и тип решаемой задачи, которая в нашем примере относится к области интегрального исчисления. Кроме того, COM-сервер получает эталон решения задачи из
базы данных. Предположим, что эталоном является sin(3n/2+x)+C . Далее
COM-сервер выдает, в соответствии с типом задачи, инструкции для
математического пакета (предполагается, что мы используем Maple):
user_answer := MathML[import]
("<apply> <plus/>
<apply> <minus/>
<apply> <cos/> <ci>x</ci> </apply>
</aPPly> <ci>C</ci>
</apply>");
etalon := sin(3n/2+x)+C ; result := etalon — user_answer ;
Рис.3. Пример пакета, передаваемого на обработку Команды пакета предлагают импортировать код MathML и перевести его в выражение вида -cos (х) + C. Предпоследняя команда пакета содержит эталон, извлеченный из базы данных. Последняя команда пакета, после выполнения математическим пакетом всех необходимых эквивалентных преобразований, возвращает значение 0, если ответ пользователя оказалась правильным. Полученный результат возвращается COM-серверу, который возвращает его веб-серверу.
Подходы к классификации математических задач Так как система предполагает разработку и использование эталонов решений задач для использования при проверке правильности ответов, необходимо произвести классификацию математических задач по некоторым критериям. Классификация задач школьной математики более проста, поэтому для рассмотрения возьмем задачи из школьного курса математики. Задачи высшей математики и задачи, исчерпывающие ответы на которые нельзя сформулировать, не обладая определенными специфическими знаниями, рассматривать не будем.
В процессе реализации проекта перед нами стояла цель — разбить задачи на определенные классы для того, чтобы в каждом классе произвести некоторого рода исследование на предмет решаемости этих задач в среде Maple, и только после этого сделать попытку обобщить наблюдения на каждой группе задач.
Первый подход к классификации задач учитывает два аспекта: область, в которой эта задача возникает, и характеристики самого ответа. Классификация 1
1. Числовые значения: корни уравнений; текстовые задачи; геометрические числовые задачи.
2. Пары числовых значений: системы уравнений с двумя переменными; уравнения с двумя переменными.
3. Интервалы числовых значений: уравнения; неравенства; текстовые задачи.
4. Список числовых значений: системы уравнений трёх-четырёх и т.д.
переменных.
5. Тригонометрические значения: тригонометрические значения без параметра.
6. Пары тригонометрических значений: системы тригонометрических уравнений.
7. Интервалы числовых значений: тригонометрические неравенства; тригонометрические уравнения.
8. Алгебраические выражения с параметром: корни уравнений с параметром; текстовые задачи с параметром.
9. Алгебраические выражения с двумя и более параметрами: корни уравнений с параметрами; текстовые задачи с параметрами.
10. Пары алгебраических выражений с параметрами: системы уравнений с двумя переменными с параметрами; уравнения с двумя переменными с параметрами.
11. Интервалы алгебраических выражений с параметрами: неравенства с параметрами.
12. Тригонометрические значения с параметром: тригонометрические значения с параметром.
13. Фиксированный текстовый ответ: текстовые задачи; геометрические задачи; смешанные задачи.
14. Выборочный ответ: любые задачи. Классификация 2
Второй подход основывается только на характеристиках самого ответа. Особенностью данного подхода является то, что при сравнении ответа с эталоном формулировка задачи хотя и имеет свой вес, однако в идеальном случае проверка правильности ответа не зависит ни от самой задачи ни от метода её решения.
Это, в то же время, не избавляет нас от необходимости решить задачу средствами Maple по следующим причинам:
• предварительное решение задачи средствами аналитического или численного решения избавляет от возможных ошибок при проверке ответа пользователя;
• получение ответа в формате «удобном» для Maple значительно упрощает и предсказывает процедуру проверки.
Второй подход к классификации включает:
1. Исключительно числовые значения: интервалы; списки значений; одиночный ответ.
2. Вычисляемые значения, использующие готовые функции и предопределенные константы
3. Списки вычисляемых выражений
4. Одиночное вычисляемое выражение
5. Параметрические (символьные) выражения с заданием области определения параметров.
6. Ответы на тригонометрические уравнения
7. Ответы на тригонометрические системы уравнений
8. Задачи на упрощение многочленов
9. Текстовый или произвольный вид ответа.
Следует отметить, что, к примеру, при решении задачи сравнения ответов для нас не имеет значения разница в ответах {a2-a+1, aeZ) или (x+1) (x+8), хотя формулировки и области применения этих задач могут разниться.
Пример организации и сравнения ответов. Сравнение интервалов
Термин интервал применительно к школьному курсу математики обозначает подмножество множества действительных чисел. В Maple не существует аналогичного типа данных. Поэтому для сравнения ответов интервального вида будем использовать следующий алгоритм.
> user:=[x>2,x<-2]; user := [2 <x, x < -2]
> user:=convert(user,set);
user := {2 < x, x < -2}
>etalon:=solve(MathML[Import]( "<math xmlns='http://www.w3.org/1998/Math/MathML'> <apply id='id5'> <gt/> <apply id='id3'><power/>
<ci id='id1'>x</ci> <cn id='id2' type='integer'>2</cn></apply> <cn id='id4' type='integer'>4</cn></apply></math>"),x);
étalon := RealRange(-œ, Open(-2)), RealRange(Open(2), œ)
> etalon:=[etalon];
étalon := [RealRange(-œ, Open(-2)), RealRange(Open(2), œ)]
> i:=1; etalon1:=[];
while type(etalon[i],list)<>0 do etalon1:=[op(etalon1),op(etalon[i])]; i:=i+1; end do;
i := 1
etalonl := [ ]
etalonl := [-œ, Open(-2)]
i := 2
etalonl := [ -œ, Open(-2), Open(2), œ ] i := 3
> etalon:=etalon1;
newetalon:=[];
i:=1;
while type(etalon[i],list)<>0 do if((etalon[i]=infinity)or(etalon[i]=-infinity)) then i:=i+1; continue; end if;
if(type(i,odd)) then
if(op(etalon[i])-etalon[i]=0) then
newetalon:=[op(newetalon),x>=op(etalon[i])]
else
newetalon:=[op(newetalon),x>op(etalon[i])]
end if;
else
if(op(etalon[i])-etalon[i]=0) then
newetalon:=[op(newetalon),x<=op(etalon[i])]
else
newetalon:=[op(newetalon),x<op(etalon[i])] end if; end if; i:=i+1;
end do;
>
étalon := [ -œ, Open(-2), Open(2), œ ] newetalon := [ ] i := 1 i := 3 i := 4
> newetalon:=convert(newetalon,set);
newetalon := {2 < x, x < -2}
> user-newetalon;
0
>
Результат сравнения подтверждает правильность ответа пользователя.
Заключение
Использование предложенного Internet-ресурса позволяет контролировать не только правильность ответа, представленного в числовой форме или форме строки, содержащей выражение простой структуры, но также и ответ в форме последовательности промежуточных преобразований, приводящих испытуемого к конечному ответу. Причем такой контроль выполняется средствами пакета символьной математики и требует только подготовки эталонного ответа и внутреннего преобразования ответа испытуемого в формат MathML.
Литература
1. Wolfram|Alpha: Computational Knowledge Engine [Электронный ресурс]. — Режим доступа: http://www.wolframalpha.com/. — Дата доступа: 01.10.2014.
2. WWW Interactive Mathematics Server [Электронный ресурс]. — Режим доступа: — http://wims.unice.fr/wims/. — Дата доступа: 01.10.2014.
3. W3C® Math Home [Электронный ресурс]: Сайт организации W3C. — Режим доступа: http://www.w3.org/Math/ - Дата доступа: 01.10.2014.
4. Официальная страница Maple на сайте разработчика [Электронный ресурс]. — Режим доступа: http://www.maplesoft.com/products/Maple/index.aspx. — Дата доступа: 01.10.2014.