Подсистемы CLASS и PRACTICE являются основными подсистемами системы ASET [1]. Подсистема PRACTICE является виртуальной лабораторией, предназначенной для прохождения студентами компьютерного практикума по курсу. Основная цель, которая ставится перед студентом при выполнении индивидуальных заданий (интегральных проектов), составляющих компьютерный практикум, - это практическое освоение всех этапов разработки надежной и наглядной интерактивной
(диалоговой) программы для компьютерного решения некоторой нетривиальной задачи, требующей разработки алгоритма, обработки сложных структур данных и создания дружественного интерфейса [2].
С каждым интегральным заданием а связывается множество эталонных решений S(а) и два вектора знаний: Р( а ) - вектор предварительных знаний и F(a) - вектор итоговых знаний. Они имеют тот же смысл, что и у заданий системы CLASS, с тем отличием, что эталонные решения S( а) - это прокомментированные решения задания а , которые имеют вид гипертекстовых отчетов.
Тематика индивидуальных заданий для компьютерного практикума определяется, в первую очередь, всеми видами работ, которые должен освоить студент, чтобы научиться создавать качественные (эффективные, наглядные и надежные) нетривиальные программы. В большинстве случаев задача, решаемая во время выполнения индивидуального задания,- это задача невычислительного характера, имеющая краткую и точную (содержательную) формулировку и допускающая большое разнообразие решений.
При выполнении проектов практикума студенты должны интегрировать все, что они изучили ранее (при работе в системе CLASS), а также получить навыки, являющиеся базовым для разработки программного обеспечения на всех уровнях и для программирования как дисциплины. Это включает использование в той или иной мере формальных методов анализа задач и конструирования программ с упором на создание эффективных и надежных программ, которые удовлетворяют заданным спецификациям и поддерживают дружественный интерфейс.
Работая в виртуальной лаборатории, студент изучает методический материал, содержащийся в задачнике курса, тестирует свои знания теоретического материала, прочитанного им, или решает интегральные проекты.
В процессе выполнения проекта в системе PRACTICE студент составляет гипертекстовой отчет, который включает:
- формулировку задачи;
- описание программы для пользователя, ее внешнюю спецификацию, т.е. описание способа задания входных данных, результатов программы при заданных входных данных и сценария диалога в процессе исполнения программы;
- словесное описание алгоритма и обоснование его правильности и эффективности;
- текст программы;
- описание тестового набора и его обоснование.
Аннотация проектов
Для вычисления релевантности доступного по ссылке проекта текущему уровню знаний студента используется простая метафора «светофора» для аннотаций. Ссылки на проекты, которые должен выполнить в курсе студент, помечены одним из трех цветовых кружков:готов-для-решения (зеленый кружок рядом с текстом ссылки), не-готов- для-решения (красный кружок) или уже-решен (серый кружок), что позволяет студенту выбрать подходящие проекты.
Студенту часто требуется информация по определенным темам, но не хватает предварительных знаний для понимания этой информации. К примеру, студент хочет работать над проектом построения ветвящихся программ, но не понимает таких тем, как логические выражения; в таком случае ему не стоит начинать чтение сразу со страниц, содержащих описание условных операторов. Для поддержки студента система сравнивает его текущий уровень знаний с необходимым для понимания рассматриваемой темы. Если у студента не хватает некоторых предварительных знаний, система может сгенерировать последовательность информационных элементов (след), который направляет его обучение в рамках данной темы.
Генерация такого следа реализована как алгоритм обхода в глубину, который проверяет оценку системой знаний студента о тех единицах знаний, которые предварительно необходимы для его текущей цели. Алгоритм проверяет, все ли предварительные знания достаточно усвоены студентом. Если нет, алгоритм находит единицы знаний, нуждающиеся в изучении. После этого генерируется последовательность подцелей и последовательность информационных элементов, которая последовательно направляет работу студента через необходимые темы вплоть до выбранной им.
Если студент хочет получить более конкретные указания во время работы с системой, он может запросить у системы следующий разумный шаг обучения. Этот запрос на прямое руководство выполняется путем определения подходящей цели обучения, зависящей от текущего состояния знаний студента и состояния его проектов. Цель определяется как набор единиц знаний. Чтобы определить следующую подходящую цель обучения, вычисляется последовательный след, покрывающий все нерешенные проекты студента. Для каждого элемента этого следа проверяется оценка системой уровня знаний студента. Если студенту не хватает знания какой – либо единицы знаний, тогда она предлагается в качестве следующей подходящей цели.
Режимы работы студента
Инструктор может управлять тем, как знания студента влияют на возможность его работы с системой.
В жестко контролируемом режиме студент x не может выполнять ни один из тех проектов, для которых он не имеет достаточно знаний. Другими словами, при этом режиме разрешается студенту x приступить к выполнению некоторого проекта а только в том случае, когда K(х) ≥ Р(а).
В слабо контролируемом режиме студент x может выполнять не только те проекты а, для которых у него хватает знаний (т.е. K(х) ≥ P(a)),но и любой такой проект а, что для любого i либо K(x)(i) ≥ P(a)(i), либо K(x)(i) = F и P(a)(i) = E.
В свободном режиме студент может выполнять любой проект.
При этом вне зависимости от того режима, который установлен студенту x инструктором, студент всегда получает предупреждение о недостаточности своих знаний, если он пытается начать выполнять такой проект а , для которого у него не хватает компетентности в некоторой единице знаний i (т.е. k(x)(i) ‹ P(a)(i')). Одновременно с предупреждением студенту демонстрируется те единицы знаний (вместе с их уровнями), знание которых они должен повысить до выполнения данного проекта. Обновление модели знаний студента
Многие адаптивные системы фиксируют факт чтения пользователем определенной информации и на этой основе обновляют оценку его знаний. Некоторые из них учитывают время чтения или последовательность прочитанных страниц для углубления этой оценки. Хотя это оправданный подход, его недостатком является трудность измерения знания, приобретенного пользователем во время чтения Web-страницы. Вместо этого мы используем для обновления модели знаний только тесты и проекты. Это мотивировано проблемным подходом к обучению в тех курсах, на поддержку которых ориентирована система ASET .
Предполагается, что после чтения того или иного теоретического материала система организует обратную связь. Студент последовательно указывает те темы, которые были целью изучения данного материала. Для каждой из этих тем (единиц знаний) студент переоценивает свои изменившиеся знания, выбирая одну из двух категорий: «тема была несложной – я овладевал материалом без труда», «тема была не простой – у меня были некоторые проблемы в понимании». Эти категории соответствуют знаниям продвинутого студента и начинающего. После этого система генерирует индивидуальный набор тестов, успешное прохождение которых позволяет студенту изменить желаемым образом оценку своих знаний.
Обновление модели знаний автоматически происходит во время работы студента над некоторым проектом каждый раз, когда решение студента не проходит некоторый тест, а также тогда, когда инструктор завершает оценку текущего (посылаемого инструктору на проверку) варианта решения проекта студентом.
Студент имеет право в любой момент понизить оценку уровня своих любой единицы знаний, а также попытаться повысить её. В последнем случае в зависимости от его претензий он получает индивидуальный набор тестов, сгенерированных системой, успешное прохождение которых позволяет студенту изменить желаемым образом оценку своих знаний.
Для описания новых проектов можно использовать следующий специальный язык задания проектов (ЯЗП), позволяющий задавать одновременно все варианты проекта компактным образом.
Ниже для описания синтаксиса ЯЗП используется Расширенный Бекуса- Наура Формализм (Extended Backus – Naur Formalism. EBNF), который характеризуется следующими свойствами:
- альтернативы разделяются символом | ;
- скобки [и] обозначают факультативность выражения в скобках;
- скобки {и} обозначают повторение (возможно 0 раз);
- скобки (и) используются для формирования групп элементов;
- нетерминальные символы начинаются с прописной буквы (например, Statement);
- терминальные символы либо начинаются со строчной буквы (например, letter), либо записывается целиком строчными буквами (например, BEGIN), или представляются в виде строк (например, ―:=‖);
- комментарии начинаются с символа // и продолжается до конца строки.
Правила описания проекта на языке ЯЗП имеют следующий вид, где Символ - это произвольный символ, отличный от знака ≠ : Проект = {Условие Образец}.
Образец = {{Символ} {≠ Выражение}{Символ}}. Условие = Истинное Условие | Вычисляемое Условие. Вычисляемое Условие = ≠ <Выражение, Интервал> |
≠ <Выражение, Число>.
Истинное Условие = ≠ ≠ .
Выражение = Номер | Номер * Число | Номер DIV Число. Интервал = ОткрывСкобка Число, Число ЗакрСкобка. Открыв Скобка = (| [.
ЗакрСкобка= )| ].
Число = {Цифра}. Номер = ≠ Число.
Каждый проект на языке ЯЗП представляет собой фактически последовательность строк вида Условие Образец, по которым строятся все конкретные варианты проекта по следующим правилам. Вначале N подставляется в каждое Выражение вместо Номера, преобразуя их в константные. Затем полученные константные выражения вычисляются, и вычисленные значения заменяют вхождения выражений. Данная подстановка преобразует образцы в строки факультативных и обязательных частей текста формулировки соответствующего варианта. Обязательная часть образуется из образца, которому предшествует Истинное Условие. Условие, соответствующего образца, при котором данная факультативная строка должна включаться в формулировку конкретного варианта проекта, - это принадлежность вычисленного значения интервалу, заданному в вычисляемом условии, или его равенство заданному значению.
Литература
- Илипов М.М. К вопросу о разработке адаптивной среды дистанционного обучения ASDT. Материалы международной научно-практической конференции «Алдамжаровские чтения», Костанай, 2008. – С. 45.
- Goldstein L The genetic graph: A representation for die evolution of procedural knowledge // Intelligent Tutoring Systems. — Academic Press, 1982 – Р. 290.