I ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ И ОБРАЗОВАНИЕ_______________________
УДК 004.588
АВТОМАТНЫЙ ПОДХОД В ПОСТРОЕНИИ КОМПЬЮТЕРНЫХ ОБУЧАЮЩИХ ДИАЛОГОВ
А. Д. Тазетдинов,
канд. техн. наук, директор центра информационных технологий АНО ВПО «Международный банковский институт»
Рассматривается автоматный принцип построения вопросно-ответных структур компьютерных адаптивных обучающих диалогов, предлагается технология их создания и применения.
Введение
В наступившем XXI веке происходит смена образовательной парадигмы, появляются новые педагогические концепции и идеи. Содержание образования насыщается различными образовательными программами, стимулирующими развитие у обучающихся умений и способностей оперировать информацией, творчески решать поставленные задачи. Использование компьютерных средств обучения, телекоммуникационных сетей глобального масштаба изменяет традиционные способы использования информации. Ценностными ориентирами в образовании становятся личность ученика, его способность к самостоятельной деятельности по сбору, обработке и анализу информации, умение принимать решения и применять полученные знания в жизни.
Тенденциями современной образовательной системы становятся социальная направленность и активное использование обучения в ситуационно-смоделированных реальностях, где обучение происходит в социальной группе, члены которой в сотрудничестве создают малую культуру совместных артефактов, результатов деятельности, имеющих общие значения. Это не только ролевые и деловые игры, позволяющие приблизить обучение к реальной действительности, на первый план выходят такие понятия, как конструктивизм и конструкционизм. Смысл этих понятий в утверждении, что люди активно приобретают новое знание по мере взаимодействия с окружающим миром, и что обучение особенно эффективно, когда учащийся создает что-то для передачи опыта другим, выстраивая речевые сообщения, интернет-сообщения и более сложные продукты, например произведение изобразительного искусства или комплект программного обеспечения.
Подобные утверждения основаны на результатах многочисленных исследований в области когнитивной психологии [1]. Эти результаты указы-
вают на то, что восприятие визуально предъявленных слов (узнавание) происходит автоматически и практически независимо от внимания, тогда как восприятие семантически связной информации тесно связано с факторами внимания и активизируется только тогда, когда испытуемого просят обработать слово активно, например назвать его или молча классифицировать. Поэтому если необходимо, чтобы обучаемые имели знания в активной форме, требуется активный анализ и обязательное воспроизведение изученного материала.
В этих условиях особенно актуальное значение приобретает создание программного обеспечения, позволяющего в рамках автоматизированных обучающих систем (АОС) имитировать обучающий диалог на естественном языке, не накладывая никаких явных ограничений на терминологию и фразеологию ответа обучаемого. Тем не менее, совершенно очевидно, что дидактическая эффективность любых АОС будет определяться не совершенством технических решений, принятых в области информатики и вычислительной техники, а характером решений, принятых в сфере педагогической науки.
Технологии реализации обучающих диалогов
Естественный язык человека наряду с преимуществами в осуществлении коммуникативной функции обладает и недостатками, к числу которых относятся многозначность слов, сложность грамматических норм, громоздкость и необозримость его конструкций, ситуативность многих конструкций, контекстно-зависимое представление информации, небрежность употребления терминов и т. д.
В литературе термин «диалог» нередко трактуется весьма широко, и диалоговым иногда объявляется любое взаимодействие человека с компьютером. При столь расширенном толковании про-
Технологии реализации диалогового режима в обучающих системах
Упрощенный анализ ответа
Точное
совпадение
Простой поиск ключевых слов
«Прометей» «Дельфин» NetOP School и др.
Ответ проверяется преподавателем
7
Диалоговые системы
Случайный выбор реплики или частично зависимый выбор реплики на основе поиска ключевых слов
Electronic Brain 1200 SE Miss Talking Fallout Chat Болтун 2.0 и др.
X
Специальный ограниченный язык
Ограничение предметной области
Ограничение экранными формами и заданиями
Параметрические тесты, «Диалог», геоинформационные системы, виртуальные реальности и др.
^ Требование выполнения определенных действий в системе
На основе экспертных систем
«FOBUS»
«Web F-SMILE» и др.
Ограниченный или специализированный язык
Сравнение множеств на основе синтаксического и семантического разбора ответа, использование частотных словарей и нейросетевой кластеризации слов
v «AutoTutor» и др. у
■ Рис. 1. Технологии реализации диалогового режима в АОС
блема диалога размывается. Большинство исследователей и разработчиков адаптивных и интеллектуальных АОС полагают, что говорить о полноценном диалоге между учащимся и компьютером можно будет только после решения сложной проблемы кибернетики — понимания компьютером естественного языка. Во всех остальных случаях речь идет о мере ограничения либо языка, либо предметной области для реализации диалогового режима обучения (рис. 1).
Иногда эти ограничения весьма значительны и заметно затрудняют общение. Большинство АОС используют в качестве языка общения некоторое подмножество естественного языка, которое характеризуется строгой предметной направленностью, обедненной лексикой и упрощенным синтаксисом. По этой причине некоторые специалисты считают, что при общении с системой узкой ориентации целесообразно использовать не ограниченный естественный язык, а специализированные формальные языки, поскольку изучить директивы легче, чем запомнить ограничения, налагаемые на естественный язык, и следовать им в ходе диалога, следить за допустимостью формулировок сообщений. В специализированных системах в качестве средства общения иногда используются редуцированные проблемно-ориентированные языки — рабочие языки. Они имеют четкую предмет-
ную направленность, по сравнению с естественным ограничены в лексике, синтаксисе и сфере применения.
Адаптивные сценарии обучающих диалогов
В результате проведенного исследования технологий организации диалогового обучения с применением компьютера предлагается автоматный принцип построения вопросно-ответных структур обучающего диалога. Автоматы и автоматное программирование является сегодня не только перспективным, но и весьма актуальным направлением научных исследований. Большой вклад в развитие парадигмы автоматного программирования внесли А. А. Шалыто и его ученики [2-6], а также другие отечественные и зарубежные ученые, например С. И. Баранов [7]. Преимущество автоматной реализации сценариев диалогов перед другими технологиями состоит в том, что, с одной стороны, автоматные алгоритмы существенно проще таких технологий, как нейронные сети, алгоритмы data mining и другие методы поиска и анализа текстов, и это дает возможность преподавателям самостоятельно, без привлечения сторонних специалистов, с помощью специального инструментария создавать и управлять обучающими диалогами. С другой стороны, они обладают большей гибко-
стью и интеллектуальностью по сравнению с простым поиском ключевых слов и даже деревьев решений с циклами [8].
Сценарии обучающих диалогов составляются из разделов, соответствующих отдельным состояниям автомата, объединенных переходами. Количество разделов не ограничено и определяется только логикой описываемого диалога. Раздел сценария является унифицированной структурой с фиксированным набором типовых блоков, количество которых может изменяться произвольным образом (рис. 2). Каждый раздел может содержать дополнительный вопрос, а также дополнительные блоки, осуществляющие многошаговый анализ ответа обучаемого, что позволяет создавать адаптивные обучающие диалоги произвольной длины и сложности. Переход из одного раздела в другой выполняется на основе параметров, заданных для текущего входа в раздел: блоками условий и действий для найденного выражения поиска или блоками действий по умолчанию. Такой подход в структурной организации сценариев позволяет применять универсальный алгоритм для обработки сценариев произвольных размеров и задавать контент сценария декларативно, посредством экранных форм пользовательского интерфейса.
Структура сценария также может быть задана в виде грамматики, интерпретируемой автоматным преобразователем. В качестве стандарта дефакто в таких случаях для удобства использования и переносимости принято использовать язык XML.
<?xml version="1.0" standalone = "yes" ?>
<!DOCTYPE question [
<! ELEMENT ball (#PCDATA)>
Сценарий диалога
Раздел сценария
Текст вопроса
1 Блок условий и действий
Счетчик Сценарий поиска ключевых слов
Объяснение ошибки Переход к другому разделу
Действие по умолчанию
Счетчик Переход к другому разделу
Объяснение ошибки
■ Рис. 2. Структура сценария обучающего диалога
<! ELEMENT tema (#PCDATA)>
<!ELEMENT captionq (#PCDATA)>
<! ELEMENT questiontext (#PCDATA)>
<! ELEMENT states (state)+ >
<!ELEMENT state (statnum, questiontext?, reparestr, flod*, dodefault*) >
<!ELEMENT statenum (#PCDATA)>
<!ELEMENT questiontext (#PCDATA)>
<!ELEMENT reparestr (#PCDATA)>
<!ELEMENT flod (counter, flodexpr, rightreply, strictsearch, listdeskriptors, syscomment, ball, move_to, show)>
<!ELEMENT flodexpr (#PCDATA)>
<!ELEMENT strictsearch (#PCDATA)>
<!ELEMENT listdeskriptors (#PCDATA)>
<!ELEMENT dodefault (counter, syscomment, ball, move_to, show)>
<!ELEMENT counter (#PCDATA)>
<!ELEMENT syscomment (#PCDATA)>
<!ELEMENT move_to (#PCDATA)>
<!ELEMENT show (#PCDATA)>
Блок условий и действий включает в себя алгоритм (сценарий) поиска определенных ключевых слов в ответе учащегося и связанных с ним набором реакций системы для текущего значения счетчика в случае совпадения выражения поиска с ответом обучаемого. Методика построения сложных сценариев (алгоритмов) поиска определенных ключевых слов основана на логико-семантическом методе анализа контекстно-зависимых высказываний, предложенным А. И. Стригуном [9].
Блок действий по умолчанию позволяет, для текущего значения счетчика, вывести соответствующий комментарий системы и перейти к требуемому разделу, согласно логики диалога. Нет необходимости описывать все возможные комбинации ответов, достаточно определить наиболее значимые, а остальные определить как неверные в действии по умолчанию. В любом случае, благодаря декларативному представлению контента сценария преподаватель всегда может самостоятельно изменить или расширить его содержимое. Таким образом, сценарий задает не жесткую линейную последовательность сцен, а гибкую схему (переходов между разделами), адаптированную к ответам учащихся.
Автомат с памятью
В отличие от многих АОС, использующих методы традиционного программирования, для компьютерных автоматизированных обучающих систем репетиторского типа (РАОС) автором был предложен автоматный подход реализации как самой системы и всех ее элементов, так и структуры сценариев многошаговых обучающих диалогов. Программная архитектура РАОС показана на рис. 3.
Отличие репетиторских систем от других АОС определяется, прежде всего, наличием диалоговой формы взаимодействия обучающегося с системой в реальном масштабе времени, где обратная связь осуществляется не только при контроле, но и в процессе усвоения знаний. Благодаря такому
■ Рис. 3. Программная архитектура репетиторской обучающей системы
подходу проверка работы системы может быть выполнена с помощью имитационной модели, построенной в любой из существующих сред моделирования. Для проверки теоретических положений и апробации результатов работы был создан программный модуль. В силу большого объема документации в данной статье рассматривается только его небольшая часть, а подробное описание приводится в работах [8-11]. Предлагается два варианта построения автомата: с помощью графа переходов и с помощью функций переходов и выходов. Первый более нагляден, а второй, на наш взгляд, удобен при создании программы проверки работы автомата в любой из программных сред, например в пакете МАТЬАВ.
В качестве примера рассмотрим одну из частей блока исполнения обучающего диалога, подсистему анализа ответов обучаемого, которая реализует функции анализа ответов, интерактивные механизмы взаимодействия с пользователем в виде подробных описаний ошибок и переходов к дополнительным вопросам в случае неверных ответов. Логика работы анализатора ответов описывается схемой алгоритма, преобразуемой в автомат с помощью метода, предложенного Барановым [7] и развитого Шалыто и Туккелем [4]. В этом методе начало и конец схемы алгоритма соответствуют начальному состоянию автомата. Остальным состояниям для автомата Мура соответствует каждая операторная вершина. Каждый условный оператор соответствует определенному входному сигналу, а выходные сигналы и действия соответствуют действиям в операторных вершинах.
Проверка корректности построения и логики работы элементов системы выполнялась с помощью имитационного моделирования в пакете МАТЬАВ-Simulink-Stateflow. Для повышения наглядности процесса моделирования были выполнены некоторые упрощения, не изменяющие логику работы автомата:
— входные и выходные переменные могут принимать значения {0,1};
— входное слово — это набор из всех входных переменных, который представляет собой плоскую проекцию одного из возможных вариантов событий, возникающих в разное время (распределенных по времени) работы системы; обозначается zi, где i — порядковый номер набора;
— полной комбинацией возможных событий в системе является полный набор комбинаций входных переменных.
Формально конечный автомат A определяется как шестерка объектов: А = <S, X, Y, s0, 8, Х>, где:
S — конечное непустое множество (состояний);
X — конечное непустое множество входных переменных (входной алфавит);
Y — конечное непустое множество выходных переменных (выходной алфавит);
s0 е S — начальное состояние;
8: SX ^ S — функция переходов;
X: SX ^ Y — функция выходов.
Интерпретатор сценариев реализует функции предъявления вопросов, анализа ответов, интерактивные механизмы взаимодействия с пользователем в виде подробных описаний ошибок и переходов к дополнительным вопросам в случае неверных
Входные и выходные переменные интерпретатора сценариев
Входные сигналы Действия
х1 Ожидание идентификатора сценария или выбор раздела у0 Ожидание идентификатора сценария, номера раздела или ответа обучающегося
х2 і < п У1 Установить код ошибки егг = 0, выбрать требуемый раздел, увеличить счетчик раздела
х3 Ответ совпал с маской правильного ответа У2 Получение следующей маски правильного ответа
х4 і < т у3 Сравнение маски с ответом
х5 Ответ совпал с маской неправильного ответа У4 Получение следующей маски неправильного ответа
х6 Ошибка у5 Получение параметров по умолчанию
х7 Ошибка у6 Стандартный обработчик
у7 Установить код ошибки егг = 1
у8 Вернуть объяснения ошибки и номер раздела для перехода
ответов. Входные и выходные переменные интерпретатора сценариев представлены в таблице.
Для работы интерпретатора определяются:
5 = {а0, a1, а2, a3, a4, a5, a6, a7};
Х = {х1, х2, х3, х4, х5, х6, х7};
У = {у0, у1, у2, у3, у4, у5, уб, у7, у8}; в0 = а0.
В каждый момент времени £ = {0, 1, 2, ..., п} автомат находится в некотором состоянии а1 = а(£). Функция переходов определяет состояние а(£) в некоторый момент £. Для описываемого автомата строятся функции переходов:
а0(£) = (а0(£ - 1) л х 1(£ - 1)) V а7(£ - 1); а1^) = а0(£ - 1) л х1(£ - 1); а2(ь) = а1(£ - 1) V (а2(£ - 1) л х2(£ - 1) л х 3(£ - 1)); а3(£) = (а2(£ - 1) л х 2(£ - 1) л х 3(£ - 1)) V
V (а3(£ - 1) л х4(£ - 1) л х 5(£ - 1)); а4(£) = а3(£ - 1) л х4(£ - 1) л х 5(£ - 1); а5(£) = а4(£ - 1) л хб(£ - 1);
аб\ь) = а5(£ - 1) л х7(£ - 1);
а7(£) = а6(£ - 1) V (а5(£ - 1) л х 7(£ - 1)) V
V (а4(£ - 1) л х 6(£ - 1)) V (а2(£ - 1) л х3(£ - 1)).
Соответственно функции выходов: у0(£) = а0(£); у3(£) = а2(£) V а3(£); у6(£) = а5(£); уЦ*) = аЦ£); у4(£) = а3(£); у7(£) = а6(£); у2(£) = а1(£); у5(£) = а4(£); у8(£) = а7(£).
По этим выражениям составляется граф переходов (рис. 4) и разрабатывается управляющий блок, который обеспечивает работу анализируемого устройства.
Полный набор комбинаций входных переменных будет состоять из 127 входных слов ^0(0000000) -^127(1111111). Слову соответствует последовательность символов х1х2х3х4х5х6х7, каждый из которых может принимать только значение из диапазона {0, 1}. Проверка корректности работы автомата на всех возможных комбинациях входных сигналов выполняется с помощью программы, созданной в пакете МАТЪАВ и использующей уравнения функций переходов данного автомата. Отсутствие вершин, не задействованных в работе ни при каких входных переменных, определяется сравнением полученного множества с заявленным.
ХІ
х2Л хЗ
а о
Ожидание объекта вопроса (у0) ^
Iі к
а7 Л
Вернуть код ошибки егг и полученные параметры (у8)
ХІ
а!
а2
егг = 0; (у!)
хЗ
Получение параметров по умолчанию (у 5)
Получение следующей маски правильного ответа. Сравнение маски с ответом (у2; уЗ)
х4л х5
х2 хЗ
хб
аЗ
х4 х5
г аб Л х7 ( а5 ^
^ егг = 1; (у7) Стандартный обработчик (уб)
Получение следующей маски правильного ответа. Сравнение маски с ответом (у4; уЗ)
)
х5
7
■ Рис. 4. Граф переходов автомата
5 = {а0, а1, а2, а3, а4, а5, аб, а7}; в' = {а0} и {а0, а1, а2, а3, а4, а7} и {а0, а1, а2, а3, а4, а5, а7} и {а0, а1, а2, а3, а4, а5, а6, а7} и {а0, а1, а2, а3, а7} и {а0, а1, а2, а7}; в' = {а0, а1, а2, а3, а4, а5, а6, а7};
Б = {а0, а1, а2, а3, а4, а5, а6, а7} => в' ~ в. Вершин, не используемых ни при каких переменных, нет, следовательно, автомат работает корректно.
Для проверки теоретических положений и апробации результатов работы был создан модуль (см. рис. 3) к программному комплексу, разраба-
тываемому в рамках научно-исследовательской работы по теме «Разработка сетевой интегрированной информационно-обучающей системы для регионального ресурсного центра в сфере образования» по гранту мэрии Санкт-Петербурга. Как самостоятельное программное средство, модуль прошел регистрацию в отраслевом фонде алгоритмов и программ [10].
В данной статье приводится только фрагмент реализации с помощью автоматного подхода одного из блоков этого модуля с целью продемонстрировать эффективность автоматного подхода для
1. В дисциплине «Менеджмент» понятия МЕНЕДЖМЕНТ, МЕНЕДЖЕР являются важными понятиями, правильная трактовка которых влияет на понимание сути многих положений данной дисциплины. Дайте максимально полное, сточки зрения теории менеджмента, определение понятию МЕНЕДЖЕР.
(как резюме) наемный профессиональный управляющий другое
()
управляющий
другое
(как резюме) управляющий другое
8. УВЫ, НО ТАКОЙ ОТВЕТ НЕ ПРИНИМАЕТСЯ. Само слово manager в переводе с англий-
,
РУКОВОДИТЕЛЬ. В определении менеджера есть еще два важных качества, знание которых и отли-.
.
1
!
НАЕМНЫЙ УПРАВЛЯЮЩИЙ.
5. ОТВЕТ НЕ СОВСЕМ ПОЛНЫЙ. Вы указали, что менеджер — это НАЕМНЫЙ УПРАВЛЯЮЩИЙ.
, Но в определении менеджера есть еще одно важное качество. Назовите его.
(как резюме) профессиональный другое
(как резюме) наемный другое
ВЫ ПРАВЫ! —
НАЕМНЫЙ
.
3
(как резюме) профессиональный управляющий другое
ВЫ ПРАВЫ! Это действительно
ПРОФЕССИОНАЛЬНЫЙ Это действительно УПРАВЛЯЮЩИЙ.
УПРАВЛЯЮЩИЙ,
РУКОВОДИТЕЛЬ, НАЧАЛЬНИК.
6. ОТВЕТ НЕ СОВСЕМ ПОЛНЫЙ. Вы указали, что менеджер — это ПРОФЕССИОНАЛЬНЫЙ УПРАВЛЯЮЩИЙ. Но в определении менеджера есть еще одно важное качество. Назовите его.
(как резюме) наемный другое
7. ОТВЕТ НЕПОЛНЫЙ. Действительно, —.
В определении менеджера есть еще два важных качества, знание которых и отличает специалиста от дилетанта. Назовите эти два качества.
(как резюме) наемный другое
Следовало указать, что менеджер — это еще и НАЕМНЫЙ управляющий.
9
(как резюме) профессиональный другое
Следовало указать, что менеджер — это
.
ВЫ ПРАВЫ! Менеджер — это НАЕМНЫЙ управляющий.
Следовало указать, что менеджер — это еще и ПРОФЕССИОНАЛЬНЫЙ (а не просто хороший) управляющий.
ВЫ ПРАВЫ! Менеджер — это
ПРОФЕССИОНАЛЬНЫЙ
.
!
,
(...),
Но Вы не сказали, что (...)
( . manager —
), , ПРОФЕССИОНАЛЬНЫЙ УПРАВЛЯЮЩИЙ предприятия, член руководящего состава компании, банка, финансового ,
,
,
предприниматель
.
ВАШИ ЗНАНИЯ НЕПОЛНЫЕ. Следовало указать,
,
.
ВЫ ПРАВЫ! Менеджер это не только
,
.
ВАШИ ЗНАНИЯ НЕПОЛНЫЕ. Следовало указать, что менеджер не только НАЕМНЫЙ, но и ПРОФЕССИОНАЛЬНЫЙ (а не просто хороший) управляющий.
ВЫ ПРАВЫ! Менеджер это не только НАЕМНЫЙ, но
.
Рис. 5. Пример структуры обучающего диалога
2
4
создания обучающих систем диалогового типа. Целиком РАОС состоит из десяти блоков и включает в себя интерпретатор сценариев диалогов, анализатор ответов обучающихся, подсистему ввода вывода информации, подсистему связи с обучающей системой, а также редактор сценариев обучающих диалогов, реализуемых в виде автоматов с памятью. Результатом работы с системой является автоматизированный многошаговый обучающий диалог, позволяющий в рамках РАОС вести обучение на естественном языке, не накладывая никаких явных ограничений на терминологию и фразеологию ответа обучаемого. На рис. 5 представлен сокращенный пример такого обучающего диалога.
В настоящее время преподавателями четырех вузов по разработанной автором методике создано для 144 дисциплин около 11 тыс. обучающих диалогов, которые успешно используются в учебном процессе Международного банковского института, Санкт-Петербургского государственного политехнического университета, Санкт-Петербургского государственного университета экономики и финансов, Самарского Международного института рынка. Кроме того, к текущему моменту разработана реализация этого модуля для такой популярной среды обучения, как МооШе.
Заключение
В отличие от существующих методов организации обучающих диалогов в АОС, применение автоматного подхода на всех уровнях построения РАОС, включая адаптивные сценарии обучающих диалогов, позволяет отказаться от сложного семантического и синтаксического анализа ответа учащегося. Предлагаемая технология дает возможность существенно упростить программные алгоритмы, реализовать в обучающей системе относительную предметную независимость, использовать естественный язык для ввода ответов учащихся, а преподавателям самостоятельно, без привлечения программиста, создавать и модифицировать сценарии адаптивных диалогов посредством экранных форм пользовательского интер-
фейса. Практическое применение предложенных теоретических положений возможно:
— для построения самостоятельной адаптивной обучающей системы;
— в качестве структурной основы для построения отдельных модулей к различным обучающим системам.
1. Солсо Р. Когнитивная психология. 6-е изд. СПб.: Питер, 2006. 589 с.
2. Шопырин Д. Г., Шалыто А. А. Объектно-ориентированный подход к автоматному программированию // Информационно-управляющие системы. 2003. № 5. C.29-39.
3. Степанов О. Г., Шалыто А. А., Шопырин Д. Г. Предметно-ориентированный язык автоматного программирования на базе динамического языка RUBY // Информационно-управляющие системы. 2007. № 4. C. 22-27.
4. Шалыто А. А., Туккель Н. И. Преобразование итеративных алгоритмов в автоматные // Программирование. 2002.№ 5. С. 12-26.
5. Казаков М. А., Шалыто А. А. Автоматный подход к реализации анимации в визуализаторах алгоритмов //Компьютерные инструменты в образовании. 2005. № 3. С. 62-76.
6. Корнеев Г. А., Шалыто А. А. Автоматизированное построение визуализаторов алгоритмов дискретной математики //Компьютерные инструменты в обра-зовании.2006. № 5. С.16-26.
7. Баранов С. И. Синтез микропрограммных автоматов (граф-схемы и автоматы). Л.: Энергия, 1979.
8. Тазетдинов А. Д. Интерактивные процессы в обучающих системах: методы управления. СПб.: Изд-во Политех. ун-та, 2007. 155 с.
9. Федоров Б. И., Джалиашвили З. О. Логика компьютерного диалога. М.: Онега, 1994. 240 с.
10. Система тестирования с использованием свободного ответа: А. С. 4229 ОФАП / А. Д. Тазетдинов, А. И. Стригун. № ГР 50200500081 // Алгоритмы и программы: Сб. М.: ВНТИЦ, 2005.
11. Тазетдинов А. Д., Стригун А. И. Редактор компьютерных интеллектуальных тьюторов в ВУОКСе: Руководство пользователя / МБИ. СПб., 2005. 34 с.