Генерация учебно-тренировочных задач
на основе модели, представляющей информацию о значениях свойств
изучаемых объектов
А.А. Агеев
(Москва, Московский энергетический институт (Технический университет), Россия)
Компьютерные
средства обучения (КСО) составляют важнейшую часть современной системы обучения
и тренинга в процессе обучения в самых
разных отраслях знаний и практической деятельности. Одна из самых важных и эффективных
возможностей КСО – функция контролирования знаний обучающегося при помощи
учебно-тренировочных задач (УТЗ). КСО, генерирующие
УТЗ, встречаются в настоящее время нечасто. Главная причина этого заключается в
отсутствии развитого авторского инструментария, обеспечивающего воплощение функций генерации либо вообще без программирования
(т. е. полностью на основе технологий визуальной разработки), либо требующие
программирования в минимальном объеме. Немногие средства, позволяющие создавать
генерирующие КСО, не обладают инвариантностью к предметной области. Последнее
означает, что их возможности ограничены генерацией типовых УТЗ, актуальных для
определенных дисциплин или их разделов (например, механики, линейной алгебры,
лексики какого-либо иностранного языка и т.д.). В результате авторы, желающие
обогатить КСО функциями генерации, как правило, сталкиваются с необходимостью
оригинальной реализации соответствующих механизмов, что требует участия в
проекте квалифицированных программистов. Поскольку на
сегодняшний день отсутствует инвариантная к предметной области методология
построения генерирующих КСО, даже для классных программистов данная задача не
является тривиальной.
В данной работе
рассматривается один из инвариантных к предметной области алгоритмов генерации
УТЗ – алгоритм генерации УТЗ на основе модели Mtg5 или алгоритм генерации УТЗ на основе информации о значениях свойств
объектов. Этот алгоритм был впервые предложен в монографии Башмакова
А.И. и Башмакова И.А. [1].
Модель Mtg5, формируемая на базе таблицы или описания, в
которых отражены значения свойств, характеризующих множество однородных
объектов предметной области, обеспечивает широкие возможности для генерации
задач.
На верхнем уровне
модель Mtg5 имеет следующее представление:
Mtg5
= (A, C, Str(Ms), Val(Ms), Int(Ms),
V, ),
где:
A – цель
(что требуется от обучаемого, какую
деятельность необходимо выполнить);
C –
ограничения, которые должны быть учтены при выполнении УТЗ;
Ms – модель
ситуации;
Str(Ms) – структура модели ситуации;
Val(Ms) – значения параметров модели ситуации;
Int(Ms)) – интерпретация модели ситуации;
- обозначает неиспользуемый компонент модели.
В Mtg5
Str(Ms) включает
четыре компонента:
Str(Ms)
= (E, P, Z, Zr),
где:
E – множество объектов предметной области; E = {ei | i = 1, 2, … , ke}; ei – i-й элемент; ke –
количество объектов, ke ≥ 1;
P – множество свойств, характеризующих объекты из E; P
= {pi | i = 1, 2, … , kp}; pi – i-е свойство; kp – количество свойств; kp ≥ 1;
Z = ||zij|| -
матрица размерности ke х kp, строки которой соответствуют объектам,
столбцы – свойствам, а элементами являются значения этих свойств;
Zr = (zr.1, … , zr.kp) – кортеж длины kp, компонентами которого служат признаки,
определяющие cпоcобы представления значений свойств.
ke и kp связывает соотношение: ke + kp > 2.
Каждое свойство
(столбец Z) ассоциируется со
способом представления его значений (типом данных), фиксируемым соответствующим
признаком из Zr. К числу базовых способов относятся
выражения элементов Z числами, символьными
строками и списками (множествами).
Val(Ms) в рамках Mtg5 специфицирует кортеж:
Val(Ms) = (k1, k2, Es,
use),
где:
k1
– индекс выбранного
свойства или первого выбранного объекта;
k2 – индекс второго выбранного объекта или
количество объектов, фигурирующих в постановке задачи;
Es вложено в E –
подмножество объектов, фигурирующих в постановке задачи; |Es| > 1;
use – условие выборки объектов.
Модель Mtg5 позволяет генерировать 15 типов задач.
Таблицы для
генератора хранятся в базе данных. Специфика генератора УТЗ на основе модели Mtg5 такова,
что таблицы базы данных должны в
основном содержать числовую информацию. Для генерации задач
по конкретной предметной области программе
необходимы две таблицы в БД: в основной хранятся компоненты E
и Z из Str(Ms), во вспомогательной – оставшиеся два компонента
структуры.
В
базе данных также находится служебная таблица, где хранятся названия объектов и
свойств в разных падежах, используемые для построения окончательного варианта
формулировки конкретной УТЗ. Для базы данных была выбрана СУБД Microsoft SQL Server 2000.
Программная реализация генератора УТЗ на основе
модели Mtg5 осуществлена в проекте Mtg5. Этот
проект компилируется в библиотеку динамической компоновки (dll). Проект создан в среде Microsoft Visual Studio.NET на языке программирования C#. Классы проекта позволяют выполнять следующие
задачи:
•
Установление соединения с БД.
•
Загрузка структуры модели.
•
Генерация всех 15 типов задач модели Mtg5.
Результатом работы генератора будет один из классов, представляющий
сгенерированные УТЗ.
•
Группирование сгенерированных УТЗ в
коллекции задач. Коллекция задач – множество УТЗ, объединенных по какому-либо
критерию.
•
Сохранение коллекций УТЗ в формат SOAP.
•
Загрузка коллекций УТЗ из формата SOAP.
•
Сохранение коллекций УТЗ в текстовый формат.
В
ходе выполнения работы было создано приложение-интерфейс для генератора Hafolus
Project First.
Это приложение имеет дружественный пользовательский интерфейс, ориентированный
на пользователей-непрограммистов. Приложение позволяет установить соединение с
БД, задать параметры генерации и
сгенерировать коллекции УТЗ.
Основное
окно приложения состоит из трех частей: окна представления задач, дерева
коллекций задач и консоли вывода.
Окно представления задач служит для
отображения условий задач, выбора
пользователем ответа на задачу. После ответа на коллекцию задач в нем
отображается статистика по ней, где выводится информация, которую полезно
представлять в процессе работы с задачами:
общее количество задач в коллекции, количество правильных, ошибочных и
абсурдных ответов, данных пользователем и общее время, затраченное на ответ.
Дерево коллекций задач служит для
манипулирования с файлами коллекций
задач и загрузки коллекций на выполнение. Оно позволяет удалять и
переименовывать коллекции задач, а также выдавать в окне Блокнота Windows детальную информацию по всем задачам коллекции.
В консоль вывода выводится информация по
представляемой сейчас в окне представления задаче и другая служебная
информация.
Приложение Hafolus Project First также позволяет посмотреть все таблицы БД.
В данной работе был
предложен и реализован один из инвариантных методов генерации УТЗ – метод
генерации УТЗ на основе модели Mtg5, а также создано приложение-интерфейс, демонстрирующее его работу.
Входные данные генератора берутся из числовых таблиц БД, а таблицы БД легко
изменять и модифицировать. Все таблицы имеют одну и ту же структуру, поэтому
легко можно создать такую таблицу практически по любой предметной области.
Сгенерированные коллекции задач сохраняются в файлах XML формата, который является стандартным
средством для хранения данных, обеспечивая легкость восприятия, модификации и
переносимости данных.
Отметим возможные
применения разработанных средств:
·
Mtg5.dll может подключаться к КСО и производить генерацию коллекций задач по
запросу системы тестирования «на лету».
·
Используя
визуальные средства приложения Hafolus Project First можно производить генерацию коллекций задач,
задавая параметры генерации, проверять их работоспособность и сохранять на
жесткий диск в формате XML.
КСО, зная формат, в котором сохраняются коллекции, сможет прочитать их и
использовать при тестировании обучающихся.
ЛИТЕРАТУРА
1. Башмаков А.И., Башмаков И.А. Разработка компьютерных учебников и обучающих систем. – М.: Информационно-издательский дом «Филинъ», 2003. – 616 с.