скачать Московский Государственный Университет им. М.В.Ломоносова факультет Вычислительной Математики и Кибернетики кафедра Алгоритмических языков ![]() Дипломная работа по теме: Реализация Интеллектуальной обучающей системы (учебное действие) Студента 524 группы Козлова Ю.Н. Научный руководитель н.с. Громыко В.И. Москва, 2007. Оглавление Аннотация 4 1. Введение 5 1.1. Учебные курсы 5 1.2. Компьютерные практикумы 6 1.3. Градиент развития рациональной культуры 7 ^ 1.4.1. ИОС как средство синтезирующей деятельности учащегося 8 1.4.2. Проектируемая обучающая система 10 2. Постановка задачи 11 3. Обзор существующих решений рассматриваемой задачи 12 ^ 3.2. Функциональная схема 12 3.3. Предметная область 13 3.3.1. Учащийся как субъект 13 3.3.2. Предметная область (ПО) 13 3.3.3. Межпредметные связи 14 3.3.4. Учебное действие 15 4. Исследование и построение решения задачи 16 4.1. Соподчинение курсов 16 4.2. Организация ПО 16 4.3. Сужение и расширение предметной области 17 5. Описание реализации 19 5.1. Выбор технических средств 19 5.2. Функциональность программы и графический интерфейс 19 5.3. Использование JAXB 20 5.3. Сужение и расширение на основе выбранных пример-проблем 21 5.4. Работа со многими документами на предмет пересечения пример-проблем 22 6. Заключение 23 7. Благодарности 24 8. Список цитируемой литературы 25 9. Список литературы 26 АннотацияДипломная работа выполнена на спецсеминаре «Обучающие системы» в рамках проекта «Интеллектуальное компьютерное место учащегося». Проект поддержан грантами РФФИ. Рассмотрены вопросы реализации интеллектуальной обучающей системы для базового обучения информатике в виде программного продукта Результатом выполнения данной работы стал программный продукт, выделяющий учебный материал в соответствии с учебным действием. Также рассмотрен вопрос обеспечения использования курсов в системе на основе их синтеза. Конструктивно решен вопрос соподчинения однородных курсов и посредством иерархии учебного курса. 1. ВведениеБыстрое развитие науки и техники и бурный рост информации, переход на новые технологии требуют от специалиста способности постоянного усвоения новой информации, непрерывного обновления и переосмысливания имеющихся у него знаний, гибкости и широты мышления, его творческой направленности. Развитию таких способностей и должна способствовать обучающая система. С этой позиции одной из самых важных тенденций развития образования, в том числе, профессионального, является переход от концепций жестокого, авторитарного управления, где обучаемый выступает «объектом» обучающих воздействий, к системе организации, стимулирования и поддержки познавательной самодеятельности субъекта учения, созданию условий для творчества. Базовое обучение информатике по-прежнему является открытым вопросом, но приобрело остроту из-за всеобщности информационного образования. Базовое обучение должно обеспечить знание, на основе которых возможно продвижение в использовании систем НИТ на профессиональном уровне. ^ Отметим ряд учебных курсов, которые добились достижений в обучении информатике. Курс А. Шень “Программирование: вводный курс, теоремы и задачи”, МЦНМО-95. Курс нацелен на обучение доказательному программированию на материале, составляющем основу дискретности. Это соответствует позиции в обучении, разработанное Н. Виртом под влиянием Ч. Хоара в: “Системологическое программирование. Введение”, Мир-77; “Алгоритмы + структуры данных = программы”, Мир-85; “Алгоритмы и структуры данных”, Мир-89. К тому же курс А. Шень дополняется современными лекционными курсами МЦНМО по согласованным разделам математики. Особый интерес представляют лекционные курсы Н. К. Верещагина и А. Шень: “Вычислимые функции”, МЦНМО-99; “Языки и исчисления”, МЦНМО-2000. Столь же концептуально состоятельно методическое пособие по новому школьному курсу “Информационная культура” под редакцией А. Г. Кушниренко, М. Г. Эпиктетова “Модуль: класс 9”, “Модуль: класс 10”, Дрофа-95. Отметим также курс (2000-2001гг) И. В. Поттосина “Практическое программирование” (соавторы М.М.Бежанова и Л.А.Москвина), обобщающий опыт новосибирской школы А. П. Ершова. В него входят “Приемы создания программ на языке Паскаль”, “Современные понятия и методы программирования”, “Структуры данных и алгоритмы”, “Визуальное программирование в среде Delphi”. Из зарубежных базовых курсов информатики отметим два достижения: в Европе M. Broy "Информатика. Основополагающее введение" в 4-ех частях, Германия 94-97гг; в Америке – R. L. Graham, D. E. Knuth, O. Patashnik “Конкретная математика. Основание информатики”, 1998. Курс информатики M. Broy является естественным развитием курса информатики его учителя F.L.Bauer (Ф. Л. Бауэр, Г. Гооз “Информатика”, Мир-90, 1060стр.). В нем продолжается традиция приобщения к теоретическим обобщениям информатики и обнаруживается тенденция уже учить не компьютеру и даже не золотому фонду ЯП, а теоретическим основам сред информационного моделирования. Это соответствует современным требованиям к базовому обучению. Но в таких случаях курсы становятся огромными (учебник M. Broy содержит порядка 1200 стр.). Кроме того, многие теоретические вопросы вынуждено представляются без обоснования. Это противоречит развитию составного свойства рационального у учащегося – критичности, основанной на доказа-тельстве. Кроме того, наличие сегодня в информатике языков спецификаций, являющихся языками программирования (OBJECT, FOOPS) требуют включения в теоретические основы предмета современные разделы математики – упорядочено-сортные логики, язык категорий. В этом смысле, даже теоретические курсы (например, M. Broy), при всей их сложности, уже недостаточно теоретичны. Курс информатики D.E. Knuth “Конкретная математика. Основание информатики” (700 стр.) является быстрее введением в дискретный и континуальный мир математики, который обслуживает информатику. Его главный недостаток, в отношении к информатике, очевиден – исчезло программирование. ^ Обсуждение современного состояния проблемы будет неполным, если не обсудить существующие обучающие системы и тенденции компьютерных практикумов. Анализ обучающих систем (например, пакета для вузов Российского НИИ информационных систем; пакета, представленного на конгрессе ЮНЕСКО 1996 г. "Информатика и образование") обнаруживает достижения в интерфейсе общения, а также в использовании графики для обучения. Но все это реализовано на уровне тренажеров или интеллектуального преподавания, обеспечивающего преодоление трудностей за счет обобщенного опыта учителя в данном предмете. Такие системы ориентированы на нашу способность к обучению. Что же касается моделирования сотрудничества учителя и ученика для обеспечения самоорганизации последнего, то здесь результаты редки. Например, к таким следует отнести всевозможные компьютерные курсы "Живая математика", "Живая физика", выполненные в московском институте повышения квалификации работников образования (ректор А. Л. Семенов). В них моделируются среды для познавательной деятельности обучаемого (использованы идеи С. Пейперта, Массачусетс). Но и в этих обучающих системах нет модели обучаемого, поэтому в отношении предметной области они не могут выйти за границы фрагментов предмета. В качестве современного практикума обсудим пятую часть курса M. Broy (соавтор B. Rumpe) «Введению в информатику: сборник задач. Структурированное собрание упражнений с образцами решений», Научный мир, 2000. В нем наблюдается та же тенденция предоставления среды для исследования предмета (направление С. Пейперта). Для этого созданы новые или адаптированы существующие инструментальные пакеты. В этом ключе, покрываются темы – автоматы, анализаторы, рекурсивные вычисления и т.д. Но, конечно же, все это подается традиционно – без обучающей системы. На наш взгляд сегодня проблемой эффективной помощи больше заняты в офисном программировании, где действуют контекстные мастера помощи. Кроме того, такие учебные курсы, как курс В.Т. Безручко, уже ориентированы на офисное программирование как на базовое обучение. Итак, общее состояние проблемы в мире наблюдается таким:
Перспектива подхода, основанного на методе ГРОМ, состоит:
Сейчас в данном проекте эксплуатируются следующие полученные ранее результаты: разработанный метод обучения ГРОМ, ориентированный на понимательную деятельность учащегося и образованный увязыванием трех его составляющих – герменевтики, РО, РК (развивающаяся культура); разработанная схема визуализации, которая допускает управляемую навигацию; практический опыт реализации фрагментов ИОС. ^ Синтезирующая деятельность на ИС в границах ИТ, естественно, проявляется в целостном восприятии рациональной культуры через единство математики, программирования и информатики. В целях обучения – обеспечения самоорганизации учащегося по обобщающим смыслам – нас интересует градиент самоорганизации рациональной культуры. Так как ИТ обеспечивают упаковку знания на компьютере для исследования, то полагаем справедливым следующее: НАМ → АМ → САМ. Такова выбранная царская (градиентная) дорога для интеллектуального прорыва учащегося к рациональной культуре века систем. С точки зрения обучения возникает трудность – как сохранить онтологическое качество восприятия сложностей учащимся при его движении (сканировании) по обобщающим смыслам. Поэтому элементы предъявленной цепочки рассматриваются в целостной связи. НАМ (наивный аксиоматический метод) соответствует аксиоматизации Евклида, которая рассматривается с такими предпочтениями: (i) занята единственной моделью (в этом наивность); (ii) представляет теорию, в которой рассмотрены конструктивные возможности циркуля и линейки; (iii) упаковка знания осуществлена средствами неформального вывода (посредством доказательства); (iv) может послужить интеллектуальному прорыву к пониманию доказательства как средства целостного восприятия предмета посредством связи понятий. АМ (аксиоматический метод) соответствует алгебраической аксиоматизации Гильберта, которая рассматривается с такими предпочтениями: (i) язык логики используется как средство математического описания; (ii) теоретико-множественный рай Кантора (теория моделей) обеспечивает конкретное представление моделей; (iii) выявляется роль аналитики для построения моделей; (iv) упаковка знания осмысливается в границах аксиоматизации многообразий, квазимногообразий, исчисления предикатов; (iv) может послужить интеллектуальному прорыву к пониманию значения подходящей «реальной» модели для аксиоматизации (выявлением изоморфизма). САМ (современный аксиоматический метод) соответствует аксиоматизации Гильберта, которая рассматривается с такими предпочтениями: (i) язык логики используется как средство вывода в формальной теории и естественного доказательства; (ii) комбинаторное программирование выступает как синтез метаматематики и метавычисления (смешанные вычисления); (iii) упаковка знания осуществлена неполными теориями, которые выступают как основа ООП; (iv) может послужить интеллектуальному прорыву к пониманию значения концептуальности через конструктивность формальных теорий (геделизация) и вычисления (теории алгоритмов и программирования). ^ 1.4.1. ИОС как средство синтезирующей деятельности учащегосяВ системно-информационный период к интеллекту (3-НТР) на первый план выдвигаются требования в отношении созидания, основанного на синтезе, экспансионизме и только во вторую очередь задействуются анализ и дедукция. Это связано с повышенным требованиям к системному мышлению.
Табл. 1. ТО и НО в их различии для синтеза Универсальное обучение (УнОб), являющееся надстройкой над профессиональным обучением (ПрОб), нацелено на самоорганизацию учащегося. При самоорганизации мышление рассматривается как творчество на основе диалогики культур (грубой схемы двух культур – гуманитарной и рациональной – уже не хватает). Для ясности, приведем два примера в отношении культуры. Сегодня возможно разрешить неопределенность мало-много. Для этого следует обеспечить преемственность представления учащегося: в неравенстве 2n>n он должен обнаружить диагональный метод Кантора. Сегодня можно связывать «далекие» понятия: в двойном интеграле обнаружить фундаментальную обобщенную рекурсию (второй степени, а для универсальной функции сложнее и не надо). В отношении самоорганизации следует учащегося продвигать в двух направлениях: от знаемого им к познанному родом человеческим; от познанному родом к знаемому им. Т.е. следует действовать на широком фронте. Нами обосновывалась целесообразность выбора градиента НАМ → АМ → САМ, захватывающего диалогику в границах рациональной культуры. Первая возникающая сложность заключается в объемности ПО, т.к. необходимо охватить синтез математики, программирования, информатики. Сложность преодолевается не написанием нового фундаментального курса, а установлением наследования множества существующих профессиональных авторских и учебного курсов. Учебный курс определяет цели. Он составлен из пример-проблем, представляющих конструктивную проблему интеллектуального поиска, которые все вместе охватывают концептуальный каркас курса. Такая организация учебного материала соответствует УнОб, занятому проблемой самоорганизации и связанной с ней свободой развития учащегося. Пример-проблемы служат источником для обнаружения в профессиональных авторских курсах: во-первых, частных задач; во-вторых, методических материалов. Для этого отношение понятий авторских курсов подчинены связям головных понятий, заданных в учебном курсе (посредством отображения корреспонденции). Вторая возникающая сложность УнОб сложнее первой. На повестке «новое», а ему соответствует деятельность в «незнаемом». Вот и выявилась суть современной несостоятельности ПрОб – обеспечивает ученика ответами. УнОб преодолевает границы ПрОб – обеспечивает на основе ответов формулировку вопросов, являющихся базой саморазвития учащегося. ПрОб отвечает за целесообразность, определяемое локальным знанием, а УнОб – за целесообразность, определяемое мировоззрением. Возникшая сложность в УнОб, выступающем как составная часть традиционного учебного процесса, преодолевается средствами ИОС. Ее интеллектуальный блок действует в соответствии с априорной и динамической моделями учащегося. Учащийся (взаимодействует со знанием) рассматривается как нелинейная система, которую следует продвинуть к увеличению сложности. В хаосе сложности для учащегося (как условия интеллектуального прорыва) возникновение порядка специфично и уникально. Отсюда ставка на свободу развития. Она состоит в предоставлении учащемуся учебного материала на основе его выбора собственного пути из множества формируемых системой путей (восхождение по обобщениям к абстрактному, схождение к конкретному), соответствующих целостности учебного курса. ИОС действует в соответствии с методом обучения ГРОМ. Мастер устроен для интегрированного предмета (включая границы составляющих его теорий) и поэтому функционирует на разведенных смыслах понятий: знать (ПрОб) и понимать (УнОб). В методе особая роль отводится циклическому процессу в отношении части и целого (конкретного и общего). Единицей учебного материала является генетическая цепочка представлений понятия на градиентном пути на уровнях САМ, АМ, НАМ, отыскиваемых в авторских курсах. Формируемые ИОС пути как раз связывают части (авторские курсы) и целое (учебный курс). Герменевтика, выявляя наши возможности в концептуальном, обеспечивает представление о подходе, в котором снимается напряжение разработки ПО, присутствующее в РО. Для ГРОМ инвариантом является понимание учащегося. Это означает, что единицей учебного действия также рассматриваются пути, отвечающие за взаимодействие целого и частей (от целого к части и наоборот). Адаптивность учебного материала добывается исследованием на нем отношения толерантности, формируемой системой на основе динамической модели учащегося. Схема 2. Инвариант понимания: формирование сознания ^ Разрабатываемая система должна быть рассчитана на учащегося высшей школы (ВУЗа), стремящегося понять, «что такое информатика?». Система должна быть универсализующим дополнением к традиционным профессионально-ориентированным курсам. Предполагается, что учащийся обладает какими-то знаниями на уровне школьного курса (НАМ). Задача системы – дать ему наиболее быстрый и комфортный путь интеллектуального развития для овладения сложными понятиями современной математике и формирования представления о предмете в целом, показать единство математики, информатики, программирования. Чем наша интеллектуальная обучающая система отличается от других? Обычно обучающие системы ориентированы на визуальное представление материала (мультимедийность) и удобную навигацию. Большое внимание уделяется тестам и проверке знаний. Интеллектуальность и адаптивность, как правило, реализованы слабо. Интеллектуальная обучающая система, которая реализуется на нашем спецсеминаре, использует синтезирующий эффект профессионального знания для обеспечения понимания учащегося. Ведущая роль отводится межпредметным связям, которые наиболее быстро дают учащемуся полную картину предметной области, позволяют ему лучше ориентироваться в ней (ПО). Учебный курс показывает учащемуся градиент развития в незнаемом, задает кратчайший путь для овладения сложными понятиями. Он рассматривается как совокупность специальным образом разработанных пример-проблем и ассоцированных с ними понятий, имеющих иерархическую структуру. Учебный курс управляет авторскими курсами, которые, несмотря на то, что преследуют свои цели, содержат материал полезный для учащегося. Авторские курсы – это специальным образом подготовленные, представленные в специализированном виде книги. Задача интеллектуальной обучающей системы – так рассмотреть материал авторских курсов, чтобы найти в них именно то, что нужно учащемуся в рамках его текущего состояния и выбранной проблемы. Предлагается реализовать две операции «прямую» и «обратную». Прямая операция по выбранной цели подбирает материал из авторских курсов. Обратная операция по текущему состоянию учащегося в предмете подбирает подходящую цель из учебного курса. Материал авторских курсов исследуется на предмет сходства. Под сходством в некотором приближении можно понимать наличие общих понятий. Учебный курс представляет собой совокупность пример-проблем, «нагруженных» некоторой разработкой – множеством понятий, с которыми они связаны. Авторский курс – представляет собой совокупность Структурных Единиц Текста (СЕТ), ассоциированных с некоторым набором понятий. Для каждой СЕТ имеется свой набор понятий, являющийся подмножеством соответствующего набора понятий авторского курса (индекса). ^ В зафиксированных границах архитектуры и функциональной схемы ИОС для ИКМУ: 1) Обеспечить использование курсов в системе на основе их синтеза. Конструктивно решить вопрос соподчинения курсов:
2) Реализовать среду, выделяющую учебный материал в соответствии с учебным действием в ИОС. Система должна:
^ Интеллектуальная обучающая система является совокупностью Рабочих мест, на каждом из которых происходит учебное действие F(Учащийся). ![]() Рабочее место – набор инструментов, среда для работы пользователя в системе. В системе должны быть реализованы:
2) РМ-2 – Графовый анализ СЕТ’ового представления на соответствие интегральному знанию. 3) РМ-3 – Формирование ПО по отношению к целям системы (УК системы базового обучения начальных курсов. На каждом из уровней должно обеспечиваться Учебное Действие (УД), причем, чем выше номер рабочего места, тем более уточненную структуру имеет материал, и тем лучше проработано УД. ^ ![]() Функциональная схема ИОС Первоначально курсы (ПО) находятся в форматах djvu и pdf. В результате последовательной обработки они переводятся в специализированный формат xml-документов для использования в качестве учебных материалов ИОС. На каждом рабочем месте уточняется представление материала, для обеспечения лучших условий выполнения Учебного Действия. Любое из рабочих мест доступно пользователю, так как мы хотим сделать систему расширяемой для добавления нового материала. Система должна принять материал от пользователя, обработать его, найти ему место в иерархии системы. Система должна выполнять Учебное Действие по преодолению межпредметных разрывом. Пользователем системы может быть как учащийся, цель которого – овладеть новым материалом, так и автор курса, желающий рассмотреть свой курс в отношении других курсов и в отношении УК базового обучения информатике. ^ 3.3.1. Учащийся как субъектУчащийся существует в условиях синтетичности профессионального обучения, заданного аксиоматически для слова и «делай так» для дела. Обучение пользуется способами:
Обучение при помощи ИОС выстраивается на межпредметных связях. ^ Требуется обеспечить ОС учебным материалом для деятельности учащегося на основе межпредметных связей на множестве курсов. Синтез предметной области (ПО), сформированной из синтетических курсов, обеспечивается Rпо - отношением соподчинения на ПО, построенным посредством бинарных соподчинений курсов Rα,β; курсы выстраиваются в иерархию дерева. Тогда на ПО представляется возможным осуществить учебное действие, соответствующее «обратной» связи обучения: ![]() ![]() ![]() ![]() Различаем типы курсов: синтетические, монографии, итоги науки, энциклопедии, синтезирующие (ВСЕМ). Эксперимент провести на ПО, составленной из синтетических курсов. Они характеризуются аксиоматическим устройством с обычной для них упаковкой знания в логическую схему. Примеры синтетических курсов: Скорняков Л.А. «Элементы общей алгебры»; Халмош П. «Конечномерные векторные пространства». Синтез курса, являющегося синтетическим, обеспечивается подбираемыми из курса (пока вручную) пример-проблемами. Пример-проблемы в курсе «Начала Евклида»: теорема Пифагора (книга I), построить квадрат равновеликий 4-угольнику (кн.II), квадрат на касательной равен прямоугольнику…(кн.III), построить 15-угольник (кн. IV). Курс автора в отношении его возможностей синтезирующего использования обнаруживаются посредством представления: ![]() где ![]() ![]() ![]() ![]() ![]() Синтез множества одноуровневых курсов: объективность средствами коллективного знания, сужение ПО. ![]() ![]() За счет выделенных пример-проблем происходит сужение ПО. ![]() ^ Учебный курс представляет собой совокупность Авторских курсов, построенную иерархически (в зависимости от концептуальности курса). ![]() Где: ![]() ![]() ![]() ![]() Схема учебного курса: ![]() ^ Учебное действие заключается в обеспечении Учащегося материалом посредством иерархии курсов. Т.е. Учащемуся предоставляется цепочка материалов разного уровня сложности, фиксирующая исторический путь развития понятия. Результатом учебного действия будут:
Интеллект системы образован учебным действием, настроенным на преодоление межпредметных «разрывов» посредством обеспечения интеллектуального прорыва учащегося. ^ 4.1. Соподчинение курсовОбратимся к предметной области ![]() Соподчинение курсов RПО обеспечивает синтез предметной области, оно основывается на соответствии понятий двух курсов. ![]() Соподчинение установлено, если зафиксировано отображение Ψ-корреспонденции из подробного курса в концептуальный. ![]() В более концептуальном курсе понятия мощнее, поэтому на них отображается несколько понятий из однородных курсов. С точки зрения реализации соподчинение строится на таблице соответствия между понятиями. Для реализации выбрано самое общее отображение (n к n). Для каждой пары курсов можно задать такую таблицу. Однако, в общем случае, она может быть пустой для курсов разных настолько, что у них нет общих понятий. Таблица соответствия будет реализована xml документом (будет разработана схема для этого документа). Для каждой пары курсов будет свой документ соподчинения. ^ Существует следующий вид фундамента курсов: ![]() Рисунок наглядно показывает иерархию курсов. Соподчинение курсов условно обозначено черными стрелками. На каждом уровне из пяти хранится соответствующий ему материал. Синтетические курсы имеют содержательные пример-проблемы, насыщены понятиями. Профессиональные курсы более подробны, но не обладают синтезирующим свойством. В рамках эксперимента рассматривается отображение профессиональных курсов только на уровень АМ синтетических курсов, так как используемые сейчас профессиональные курсы примерно соответствуют уровню АМ. Система предполагается открытой, т.е. возможно добавление новых курсов непосредственно при работе с системой (динамически). При этом пользователем выбирается уровень, на который курс должен погрузиться. Системой вычисляется пересечение пример-проблем и анализируется на пустоту. Если пересечение пустое, то курс не соответствует области, либо был некачественно обработан при приведении к формату xml. В этом случае нужно установить соответствия понятий вручную. Учебное действие в рамках сеанса работы с системой предполагает поиск материала для текущих нужд учащегося. Помимо этого существует еще один, более высокий, уровень работы системы – в рамках непрерывного образования. Между сеансами проводится анализ информации, подбор наиболее подходящего материала на основе полученной информации (учащийся задает курсы, которые он знает). Анализ в рамках непрерывного образования позволяет удалить из системы избыточные курсы и уточнить подаваемый материал, отбирая для учащегося более общий материал (в котором больше пример-проблем), который, вероятно, лучше покрывает заданную пример-проблему. ^ Сужение предметной области происходит на нескольких уровнях. При погружении курса в систему сужение ограничивает количество курсов, с которыми строится пересечение. Выбираются только наиболее близкие по содержанию курсы. Параметр, определяющий отношение близости доступен пользователю. Далее сужение производится при поиске СЕТов, удовлетворяющих выбранным пользователем пример-проблемам. Условия задаются пользователем непосредственно при работе с системой. Возможно, сделать ПО еще более узкой, если задать критерии фильтрации. Если сужение оказалось слишком сильным, может понадобится расширение ПО. Расширение предметной области при погружении курса в систему происходит за счет увеличения значения параметра, определяющего отношение близости. При поиске СЕТов расширение возможно путем изменения параметров поиска (строгость поиска и минимальная сила связей) и списков определений (увеличением белого или уменьшением черного списка). ^ 5.1. Выбор технических средствОсновными критериями выбора средств разработки являются производительность и переносимость, а также возможность создать интуитивно понятный и удобный интерфейс. Выбор однозначно пал на язык JAVA2 (среда разработки IntelliJ IDEA 6.0.4) и технологию xml для представления курсов. Для обработки и просмотра xml документов использовалась среда Stylus Studio. Она позволяет представлять xml содержимое в виде дерева, в текстовом виде и в виде таблицы. Выбор необходимой информации возможен с помощью средств языка XPath. Для реализации графического интерфейса используется библиотека swing. Изначально для работы с документами было решено использовать высокоуровневые инструменты. В частности язык запросов XQuery и язык преобразований XSLT. Однако в процессе разработки было принято решение отказаться от этих средств в пользу API, таких как DOM, JAXP и JAXB. Они предоставляют доступ к xml-данным как к объектам классов языка JAVA. DOM – Document Object Model преобразует документ в совокупность объектов типа «Node» и интерфейсов для работы с ними. JAXB же создает необходимые классы на основе схемы xsd. JAXB сам следит за соответствием документа схеме и не позволит сохранить неправильные данные, в отличие от DOM, который не следит за правильностью документа, так как ничего не знает о его схеме. Минусом использования JAXB является зависимость от объема оперативной памяти, как следствие, проблемы при работе с большим объемом данных на слабых машинах. ^ ![]() Реализованная в рамках эксперимента программа позволяет сужать и расширять предметную область, строить предикаты на понятиях (с учетом силы связей понятий в курсе), производить первичное пересечение выбранных курсов. Программа представляет собой поисковую систему. Учащийся выбирает файл xml, система проверяет файл на корректность и создает по нему дерево объектов. По полученному дереву объектов система строит предикаты над определениями, далее формируется список определений курса и отображается учащемуся. Учащийся задает пример-проблему: выбирает список понятий, которые должны попасть в результат поиска (белый список) и список понятий, которые необходимо исключить из результата (черный список). Затем учащийся задает параметры поиска (строгость поиска и минимальная сила предикатов) и нажимает кнопку «Новый поиск». Фильтрация найденного материала производится аналогично поиску и определяется списками понятий и параметрами поиска. По дереву объектов производится поиск материала и выводится Учащемуся. Имеется возможность отфильтровать результат, изменив списки понятий. Реализована возможность сохранения результата поиска в формате xml, txt. ![]() ^ Пакет использовался для чтения и записи xml курсов. Необходимым условием его использования является наличие схемы документа. Более того, схема не должна меняться, т.к. ее изменение повлечет за собой изменение структуры программы. На вход генератору классов подается xsd схема, генератор создает пакет классов, который необходимо подключить в проект. ![]() В пакете определены 2 основные операции unmarshal и marshal. Класс unmarshaller позволяет по файлу xml построить дерево объектов в системе. А класс marshaller по дереву объектов из оперативной памяти формирует документ xml, соответствующий схеме. ![]() ^ Как уже было сказано, сужение предметной области происходит на нескольких уровнях. В рамках эксперимента рассмотрим сужение при поиске СЕТов, удовлетворяющих выбранным пользователем пример-проблемам. Списки:
Параметры поиска:
Фильтрация работает аналогично поиску, за исключением того, что область поиска в этом случае ограничивается результатом предыдущего поиска. Поэтому расширение ПО при помощи фильтрации сделать нельзя. ^ Для формирования пересечения пример-проблем пользователем используется специальный пункт меню. Из вектора курсов пользователь выбирает пару и нажимает кнопку формирования пересечения. Системой формируется пересечение путем сравнения списков определений в этих файлах. 6. ЗаключениеВ результате выполнения дипломной работы была разработана схема соподчинения курсов. Реализована поисковая система, выделяющая учебный материал в соответствии с учебным действием, позволяющая производить сужение и расширение предметной области. Для выбранных курсов система строит предикаты на понятиях для передачи на рабочее место 2 (последующее графовое представление). Возможна работа со многими курсами, для выбранной пары курсов может быть построено пересечение пример-проблем. В ходе выполнения дипломной работы были получены навыки работы со средой IntelliJ IDEA 6.0. 7. БлагодарностиХотел бы выразить признательность всем, кто участвовал в работе по реализации системы и помогал непосредственно в написании дипломной работы, особенно своему научному руководителю В.И. Громыко и коллегам Андрею Ельцину, Тимуру Султанову и Дмитрию Педоренко. ^
9. Список литературы
|