Генерация учебно-тренировочных задач
на основе модели, представляющей информацию о значениях свойств
изучаемых объектов

 

А.А. Агеев

 

 

(Москва, Московский энергетический институт (Технический университет), Россия)

 

 

 

 

 

Компьютерные средства обучения (КСО) составляют важнейшую часть современной системы обучения и тренинга  в процессе обучения в самых разных отраслях знаний и практической деятельности.  Одна из самых важных и эффективных возможностей КСО – функция контролирования знаний обучающегося при помощи учебно-тренировочных задач (УТЗ). КСО, генерирующие УТЗ, встречаются в настоящее время нечасто. Главная причина этого заключается в отсутствии развитого авторского инструментария, обеспечивающего воплощение  функций генерации либо вообще без программирования (т. е. полностью на основе технологий визуальной разработки), либо требующие программирования в минимальном объеме. Немногие средства, позволяющие создавать генерирующие КСО, не обладают инвариантностью к предметной области. Последнее означает, что их возможности ограничены генерацией типовых УТЗ, актуальных для определенных дисциплин или их разделов (например, механики, линейной алгебры, лексики какого-либо иностранного языка и т.д.). В результате авторы, желающие обогатить КСО функциями генерации, как правило, сталкиваются с необходимостью оригинальной реализации соответствующих механизмов, что требует участия в проекте квалифицированных программистов. Поскольку на сегодняшний день отсутствует инвариантная к предметной области методология построения генерирующих КСО, даже для классных программистов данная задача не является тривиальной.

В данной работе рассматривается один из инвариантных к предметной области алгоритмов генерации УТЗ – алгоритм генерации УТЗ на основе модели 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}; eii-й элемент; ke – количество объектов, ke ≥ 1;

Pмножество свойств, характеризующих объекты из E; P = {pi | i = 1, 2, … , kp}; pii-е свойство; 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 с.