Web-система для адаптивной генерации тестов на основе фактов лекционного контента с функцией оценивания

 

Федеральное агентство по образованию Российской Федерации

Государственное образовательное учреждение

Высшего профессионального образования

"Кубанский Государственный Университет"

Кафедра информационных технологий.










Дипломная работасистема для адаптивной генерации тестов на основе фактов лекционного контента с функцией оценивания.




Работу выполнила студентка 5 курса

факультета прикладной математики

специальности 010503 - математическое обеспечение и администрирование информационных систем

Пекшева М.В.

Научный руководитель: Уварова А.В.



Краснодар 2012

Оглавление


Введение

1. Обзор технологий проектирования компьютерных тестов и анализ существующих систем тестирования

1.1 Технология проектирования компьютерных тестов по предметной области

1.2 Психофизическое тестирование

1.3 Анализ существующих Web-систем для обучения и тестирования

2. Постановка задачи и проектная реализация

2.1 Постановка задачи

2.2 Проект системы

2.3 Функциональные возможности Web-приложения

3. Реализация программного продукта

3.1 Реализация базы данных

3.2 Реализация Web-модуля

4. Описание интерфейса Web-модуля

Заключение

Список использованных источников


Введение


Система дистанционного обучения (СДО) - совокупность организационных, телекоммуникационных, педагогических и научных ресурсов, вовлеченных в создание и практическое осуществление образовательных программ с использованием дистанционной технологии обучения [1].

Результаты общественного прогресса, ранее сосредоточенные в сфере технологий, сегодня концентрируются в информационной сфере. Исходя из того, что профессиональные знания стареют очень быстро, необходимо их постоянное совершенствование [2]. В этом и состоит актуальность дистанционного обучения: оно дает возможность создания систем массового непрерывного самообучения, всеобщего обмена информацией, независимо от временных и пространственных поясов.

К неоспоримым качествам систем дистанционного обучения, в первую очередь, можно отнести доступность - результат минимальной потребности в очных занятиях и наличия широкой сети учебных центров, что особенно актуально в удаленных от центральных районов городах. Во-вторых - это низкие относительные затраты на обучение, что связано с малой потребностью в аудиториях и преподавателях, а также отсутствием необходимости поездки студента на сессию [3]. В-третьих, высокая мобильность. И, наконец, дистанционная технология максимально экономно относится к свободному времени студента. В основном он учится дома (или на работе) и не тратит время даже на поездку в институт. Ясно также, что все эти особенности дистанционного обучения дают эффект не только сами по себе, но и во взаимодействии, что и позволяет говорить о нем как о качественно новой форме обучения [3].

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

Первая глава содержит обзор технологий проектирования компьютерных тестов предметной области, анализ существующих Web-систем для обучения и тестирования, а так же рассмотрены методы психофизического тестирования.

Вторая глава посвящена постановке задачи и проектной реализации системы.

Третья глава включает в себя реализацию программного продукта.

Четвертая глава содержит описание интерфейса Web-модуля.

тестирование компьютерный студент оценивание

1. Обзор технологий проектирования компьютерных тестов и анализ существующих систем тестирования


1.1 Технология проектирования компьютерных тестов по предметной области


Обучение - многогранный процесс, и контроль знаний - лишь одна из его сторон. Однако именно в ней компьютерные технологии продвинулись максимально далеко, и среди них тестирование играет ведущую роль. В ряде стран тестирование потеснило традиционные формы контроля - устные и письменные экзамены и собеседования.

Экспертами чаще используется метод нисходящего проектирования модели знаний (технология "сверху - вниз"). Вначале строится генеральное содержание предметной области с разбивкой на укрупненные модули (разделы). Затем проводится детализация модулей на элементарные подмодули, которые, в свою очередь, наполняются педагогическим содержанием [4].

Другой метод проектирования "снизу - вверх" (от частного к общему) в большинстве случаев реализуется группой экспертов для разработки модели знаний сложной и объемной предметной области или для нескольких, близких по структуре и содержанию, предметных областей.

Каждый модуль предполагает входящую информацию, состоящую из набора необходимых понятий из других модулей и предметных областей, а на выходе создает совокупность новых понятий, знаний, описанных в данном модуле (рис.1.1.1).

Модуль может содержать подмодули. Элементарный подмодуль - неделимый элемент знания - может быть представлен в виде базы данных, базы знаний, информационной модели. Понятия и отношения между ними представляют семантический граф (рис.1.1.2).

Рис. 1.1.1. Структура линейной модели знаний


Рис. 1.1.2. Семантический граф модуля знаний


Модульное представление знаний помогает [4]:

·организовать четкую систему контроля с помощью компьютерного тестирования, поскольку допускает промежуточный контроль (тестирование) каждого модуля, итоговый контроль по всем модулям и их взаимосвязям, а также эффективно использовать методику "черного ящика";

·осуществлять наполнение каждого модуля педагогическим содержанием;

·выявить и учитывать семантические связи модулей и их отношения с другими предметными областями.

Проектирование модели знаний играет важную роль для образовательного процесса. От этого, в конечном счете, зависит обучающая среда: учитель с его квалификацией и опытом, средства и технологии обучения, а главное - контроль обучения.

Модульный принцип построения модели знаний позволяет использовать принцип исчерпывающего контроля - полный перебор всех тестовых заданий для заданной предметной области, что характерно для итоговых измерений уровня обученности.

Можно выделить два принципиальных способа контроля (тестирования) некоторой системы [4]:

.Метод "белого ящика" - принцип тестирования экспертной модели знаний;

2.Метод "черного ящика" - тестирование некоторой сложной системы по принципу контроля входных и выходных данных (наиболее подходит к компьютерному тестированию).

Для упрощения дальнейшего изложения введем ряд определений и понятий.

Тестирование - процесс оценки соответствия личностной модели знаний ученика экспертной модели знаний. Главная цель тестирования - обнаружение несоответствия этих моделей (а не измерение уровня знаний), оценка уровня их несоответствия. Тестирование проводится с помощью специальных тестов, состоящих из заданного набора тестовых заданий.

Тестовое задание - это четкое и ясное задание по предметной области, требующее однозначного ответа или выполнения определенного алгоритма действий.

Тест - набор взаимосвязанных тестовых заданий, позволяющих оценить соответствие знаний ученика экспертной модели знаний предметной области.

Тестовое пространство - множество тестовых заданий по всем модулям экспертной модели знаний.

Класс эквивалентности - множество тестовых заданий, таких, что выполнение учеником одного из них гарантирует выполнение других.

Полный тест - подмножество тестового пространства, обеспечивающее объективную оценку соответствия между личностной моделью и экспертной моделью знаний.

Эффективный тест - оптимальный по объему полный тест.

Самой сложной задачей эксперта по контролю является задача разработки тестов, которые позволяют максимально объективно оценить уровень соответствия или несоответствия личностной модели знаний ученика и экспертной модели.

Подбор тестовых заданий осуществляется экспертами-педагогами методологией "белого ящика", а их пригодность оценивают с помощью "черного ящика".


Рис.1.1.3 Схема создания тестовых заданий.


Самый простой способ составления тестовых заданий - формирование вопросов к понятиям, составляющим узлы семантического графа (рис.1.1.3), разработка упражнений, требующих для их выполнения знания свойств выбранного понятия. Более сложным этапом является разработка тестовых заданий, определяющих отношения между понятиями. Еще более глубокий уровень заданий связан с их добором, выявляющим связь понятий между отдельными модулями.

Множество тестовых заданий (тестовое пространство), вообще говоря, согласно принципу исчерпывающего тестирования, может быть бесконечным. Например, для исчерпывающего контроля знаний таблицы умножения целых чисел от 1 до 100 обходимо использовать 100x100 всех возможных комбинаций двух чисел. А для всех натуральных чисел тестовое пространство становится бесконечным [4].

Однако в каждом реальном случае существует конечное подмножество тестовых заданий, использование которых позволяет с большой вероятностной точностью оценить соответствие знаний ученика заданным критериям по экспертной модели знаний (полный тест).

Из полного теста можно выделить эффективный тест (оптимальный по объему набор тестовых заданий, гарантирующий оценку личностной модели ученика заданным критериям). Выбор эффективного теста зависит от удачного разбиения тестового пространства на классы эквивалентности, пограничные условия, создание тестов на покрытие путей и логических связей между понятиями и модулями.

В примере с таблицей умножения одним из классов эквивалентности может выступить множество заданий перемножения всех натуральных чисел на 1: 1*1, 1*2, 1*3 и т.д. Поэтому в тест достаточно включить всего лишь несколько тестовых зданий из этого класса эквивалентности.

В дальнейшем необходим тестовый эксперимент на группе учащихся, который позволит провести корректировку и доводку теста до вида эксплуатации (методика "черного ящика").

Таким образом, построение компьютерных тестов можно осуществлять по следующим последовательным шагам [4]:

·формализация экспертной целевой модели знаний;

·нисходящее (или снизу - вверх) проектирование тестового пространства;

·формирование и наполнение тестовых заданий;

·формирование полного компьютерного теста;

·тестовый эксперимент;

·выбор эффективного теста;

·анализ, корректировка и доводка теста до вида эксплуатации.


1.2 Психофизическое тестирование


Разные люди по-разному воспринимают, хранят, перерабатывают и выдают информацию. Одни люди предпочитают опираться на зрительные образы, другие - на слуховые, третьи - на осязание и мышечное чувство (дополненное обонянием и вкусом). Эта типология широкоиспользуется в школе НЛП (нейролингвистическое программирование) и носит название теории кодировок. Первое ее упоминание встречается в работе Т.А. Рибо (1892), в которой он ссылается наисследование1885 года [5].

Принято считать, что специфику личности определяют пять триад кодировок:


Таблица 1.2.1 Триады кодировок.

Каналы восприятияСлухЗрениеМышечное чувствоСпособ хранения и обработкиТекстКартинкаСхемаСпособ бытования в культуреКнигаКиноКомпьютерЭтап мышленияОбразыСмыслыСценарииВид деятельностиОбщение РазмышлениеДействие

Конечным результатом мышления является именно действие. Действие есть осуществление сценария. Сценарий можно придумать самому (текст-картинка-схема) на основе данных восприятия (ухо-глаз-рука), а можно позаимствовать из "общественного сознания" (книга-кино-компьютер). Когда сценарий идет, то в нем неизбежна проверка условий. Чтобы проверить условие надо вычленить объект для проверки (образ) и вычислить на этом объекте некую функцию (смысл). Одни и те же образы и смыслы можно применять в разных сценариях, то есть они относительно независимы. Общение есть совместное конструирование сценариев-образов-смыслов. Размышление есть самостоятельное их конструирование, видимое со стороны [6].


Рис.1.2.1 Связь кодировок.


Индивидуальные предпочтения и пропорции для данного человека существуют в каждой триаде. Представьте себе человека, попавшего в новые для него обстоятельства и вынужденного в этих обстоятельствах как-то действовать.

У взрослого человека внутри существует "банк сценариев" (как у компьютера существуют библиотеки программ, готовых к работе). Действовать в ответ на обстоятельства - значит выбрать один из этих сценариев (одну из этих программ) и запустить. Во время работы сценарии (программы) имеют точки ветвления, в которых запрашивается дополнительная информация, она обрабатывается, и полученный результат предопределяет по какой именно ветке пойдет дальнейшее выполнение. Поиск дополнительной информации проходит через "узнавание" и предопределен "библиотекой образов". Обработка дополнительной информацией есть "классификация" и предопределена "библиотекой смыслов". Богатство и гармоничность взаимодействия этих трех библиотек (образы, смыслы, сценарии) предопределяет точность и результативность ответа на вызов среды [6].

Таким образом, у каждого человека есть определенный "порядок мощностей", показывающий какой модуль данной триады самый выносливый, а какой самый слабый (невыносливый).

Может показаться, что одни триады предопределяют другие, но это не так. Глаз не обязательно лучше всего работает с картинкой - он может лучше всего работать со схемой, а может - с текстом. Образы не обязательно требуют сильного глаза - это могут быть образы слуховые (музыка), а могут быть двигательные (танец, скульптура) [7].

Ввиду выше сказанного можно сделать вывод, что правильное определение ведущих модулей триад в процессе обучение является очень важной задачей. Например, существует три формы представления информации в человеческом мозге: текст, картинка и схема. У каждого человека одна форма является "родной", остальные - нет. При получении задачи ученик сначала переводит ее в "родную кодировку", затем решает, а затем переводит ее в кодировку, заданную учителем. Если предположить, что родные кодировки распределены равномерно и затраты на перекодировку и решение одинаковы, то получится, что одна треть учеников выполняет работу в три раза меньшую, чем остальные две трети. Очевидно, что они оказываются в привилегированном положении.

Естественно возникает закономерный вопрос: как же тогда определить, в каком виде человек лучше всего воспринимает информацию? Другими словами, какой из модулей кодировки, отвечающей за способ хранения и обработки, является ведущим? Ведь именно от него зависит насколько правильно и легко человек усвоит предлагаемую информацию, а это очень важная задача в рамках обучения.

Ответ прост - можно предложить студенту три стопки простых задач. В первой стопке текстовые задачи, во второй на картинках, в третьей - на схемах. Испытуемый выбирает одну из стопок и начинает решать. На каждой задаче ставится время начала и окончания. Через 15 минут стопку отбирают, остаются две. Испытуемый выбирает одну из них и решает еще 15 минут. Далее - еще 15 минут из последней стопки.

Порядок предпочтений определяет вторую триаду кодировок. Скорость решения задач и число ошибок - разогрев.

Если "работоспособность человека" отложить на оси времени, то получится периодическая кривая (рис.1.2.2).


Рис.1.2.2 График работоспособности человека.


Если посадить рядом двух человек, дать им серию одинаковых простых задачи измерить работоспособность как время решения простой задачи (чем меньше, тем выше) и число ошибок (чем меньше, тем выше), то с высокой вероятностью мы получим две различные кривые. Если строить кривые разогрева для разных людей, то полученное семейство кривых будет иметь четыре "кривые сгущения". Соотношение "кривых сгущения показано на рисунке 1.2.3 Эти кривые нам знакомы. Их другое название - "четыре темперамента" [7].

Если же наложить четыре разогрева на три формы представления информации в человеческом мозге в ограниченном времени урока, то получится следующий результат:

.Двенадцатая часть учащихся совпала с педагогом по разогреву и кодировке. Она - в очень выгодных условиях.

2.Половина учащихся не совпала с учителем ни по разогреву, ни по кодировке. Она - в очень невыгодных условиях.

.Остальные пять двенадцатых совпали с учителем либо кодировке, либо по разогреву (но не по двум показателям вместе). Они в не очень выгодных условиях.


Рис.1.2.3 Кривые сгущения.


Таким образом, система обучения хорошо работает только на одной двенадцатой класса. То есть ее КПД = 8, (3) %. Если в классе 36 учеников, то это 3 ученика. Обратите внимание на то, что при смене учителя "способными"станут другие три ученика, а прежние три способных окажутся неспособными [8].

Поэтому очень важно при тестировании студента помимо ведущего модуля кодировки, отвечающей за способ хранения и обработки, знать еще его кривую разогрева - это поможет лучшим образом выявить уровень его знаний. Например, холерику задавать сначала более сложные задачи, а меланхолику - наоборот.


1.3 Анализ существующих Web-систем для обучения и тестирования


Обучение через глобальную сеть в настоящее время является одним из важных направлений в области разработки обучающего программного обеспечения. Преимущества использования Web для обучения очевидны - это независимость обучаемых от географического местоположения и независимость программы от платформы. Приложение, установленное и поддерживаемое в одном месте, может использоваться тысячами обучаемых по всему миру, имеющих компьютер с подключением к сети Internet. За последние несколько лет появилось множество Web курсов и других обучающих приложений, однако, их главная проблема заключается в том, что они лишены интеллектуальности - большинство из них являются просто сетью статичных гипертекстовых страниц.

Адаптация исключительно важна для обучения в Web, по меньшей мере, по двум основным причинам. Во-первых, Web-приложение используется огромным числом совершено различных пользователей, поэтому Web приложения, спроектированные для определенного класса пользователей (как зачастую это делается при проектировке локальных приложений), могут не подойти другим пользователям. Во-вторых, во многих случаях пользователь работает один на один с Web наставником или курсом" и не может получить помощь, которую адаптивно предоставляют коллеги и учителя в обычном классном помещении [9].

Обучающие адаптивные системы (ОАС) в Web являются наследниками двух более ранних разновидностей ОАС: интеллектуальных обучающих систем (ИОС) и адаптивных гипермедиа систем. ИОС используют знания о предметной области, об обучаемом и стратегиях обучения для поддержки гибкого индивидуализированного изучения и обучения. Адаптивные гипермедиа системы - более новая область исследований. Данные системы применяют различные виды моделей пользователя для адаптации содержания и связывания гипермедиа страниц. С системной точки зрения современные АОС могут рассматриваться просто как ИОС или адаптивные гипермедиа системы реализованные в Web. Однако контекст WWW дает серьезный импульс для проектирования и реализации этих систем, заставляет нас относить их в отдельный подкласс.

Рабочий семинар Адаптивные системы и моделирование пользователя в WWW" [10] показал, что существующие адаптивные Web системы могут быть разделены на три группы: адаптивные информационные системы, которые служат для персонализации информации в режиме on-line, например, AVANTI (Fink, Kobsa&Schreck) или PUSH (Heek); адаптивные фильтрующие системы, которые помогают пользователю находить релевантные просмотры в океане доступной информации, например, ifWeb (Asnicar&Tasso) или WebTagger&trade (Kelleretal.); и обучающие адаптивные системы. ОАС самая большая группа: больше половины существующих адаптивных систем в Web являются ОАС. Во-первых, края между этими группами очень неясные. Информационная on-line система, такая как энциклопедия, которая используется для обучения (Signore, Bartoli&Fresta) или адаптивная фильтрующая система, применяемая в образовательном контексте (Nomotoetal.), могут быть классифицированы как ОАС. Во-вторых, ОАС объединяет очень много типов различных систем, по сравнению со второй группой, поэтому больше исследователей из разных областей проявляют интерес к работе над ними. И наконец, разработчики ОАС могут полагаться на технологии (и даже компоненты) использованные и одобренные в более ранних локальных ИОС и адаптивных гипермедиа системах. Многие из существующих ОАС в Web, например, такие как ELM-ART, CALAT, WITS и Belvedere, были разработаны на базе более ранних ИОС.

В настоящее время все технологии адаптации, применяемые в ОАС в Web, адаптированы, либо из области ИОС (адаптивное планирование - интеллектуальный анализ решений обучаемого, поддержка интерактивного решения задач, поддержка решения задач на примерах и поддержка совместной работы), либо из области адаптивной гипермедиа (поддержка адаптивного представления и адаптивной навигации). Так же начинают появляться новые технологии адаптации, например адаптивная поддержка совместной работы, специально спроектированная для обучения в Web.

Целью технологии адаптивного планирования (также называемая технологией учебного планирования) является предоставление обучаемому самой подходящей спланированной индивидуально для него последовательности модулей знаний для обучения и работы с определенным порядком следования обучающих заданий (примеров, вопросов, задач и т.п.). Другими словами, она помогает обучаемому найти оптимальный путь сквозь обучающий материал. Классический пример из области обучения программированию система BIP (Barr, Beard&Atkinson), к относительно новым примерам можно отнести ITEM-IP и SCENT-3. Различают две техники адаптивного планирования: высокоуровневое упорядочение и низкоуровневое упорядочение. Высокоуровневое упорядочение или упорядочение знаний определяет следующую концепцию или тему, которая будет заучена. Низкоуровневое упорядочение или упорядочение заданий определяет следующее обучающее задание (задачу, пример, тест) в текущей теме. В настоящее время технология адаптивного планирования является старейшей и наиболее популярной технологией для ОАС в Web. Адаптивное планирование реализовано в различных формах в следующих ОАС: ELM-ART (Brusilovsky, Schwarz, &Weber), CALAT (Nakabayashietal.), InterBook (Brusilovsky&Schwarz) AST (Spechtetal.), MANIC (Stern, Woolf&Kuroso), Medtec (Eliot, Neiman&Lamar) и DCG (Vassileva) [9].

Виды адаптаций в Web-системах.

.Интеллектуальный анализ решений обучаемого.

Онобрабатываетуже окончательные ответы студента на обучающие задания (которые могут колебаться от простых вопросов до сложных задач) без выяснения причин, по которым студентом был выбран данный ответ. В отличие от не интеллектуальных проверяющих программ, которые всего лишь проверяют ответ правильный или нет, интеллектуальные анализаторы могут сказать, что именно неправильно или неполно в ответе и какие отсутствующие или неверные знания ответственны за допущенную ошибку. Интеллектуальные анализаторы могут корректировать модель обучаемого. Интеллектуальный анализ решений очень подходящая технология для медленных сетей. При этой технологии необходимо только одно взаимодействие между браузером и сервером для окончательного решения. Она может предоставлять интеллектуальную обратную связь и выполнять моделирование студента, когда другие интерактивные техники использовать затруднительно. В качестве примера можно привести, по меньшей мере, две ОАС в Web, которые реализуют интеллектуальный анализ решений обучаемого адаптивно в WWW: ELM-ART, ИОС для программирования на LISP (Brusilovskyetal.) и WITS, ИОС для дифференциального исчисления (Okazaki, Watanabe&Kondo; Okazaki, Watanabe&Kondo) [9].

.Поддержка интерактивного решения задач.

Целью поддержки интерактивного решения задач является предоставление обучаемому интеллектуальной помощи на каждом шаге решения - от намеков до исполнения следующего шага за обучаемого. Системы, которые реализуют эту технологию, могут наблюдать за действиями обучаемого, понимать их и использовать это понимание для предоставления помощи и корректирования модели обучаемого. Однако, если качество соединения с глобальной сетью низкое, то это может привести к значительной задержке при получении ответа от сервера. Классический пример из области программирования LISP-TUTOR (Anderson&Reiser). В качестве примерасистем, работающих в Web, можно привести такие системы как: PAT-Online (Brusilovsky, Ritter&Schwarz; Ritter) - использует серверный подход (интерфейс CGI) и позволяет предоставлятьобучаемым шаги решения нескольких задач на проверку в одной транзанкции (т.е. это комбинация поддержки интерактивного решения задач и интеллектуального анализа решений студента). Belvedere (Suthers&Jones) и ADIS (Warendorf&Tan) используют Java технологию для поддержания настоящей интерактивности. D3-WWW-Trainer (Faulhaber&Reinhardt) использует и Java и серверный подход. Достаточно маленький Java апплет предоставляет хороший интерактивный интерфейс. Интеллектуальная и адаптивная часть, тем не менее, расположена на сервере. Апплет предусматривает связь с сервером по средствам CGI интерфейса [9].

.Решение задач на примерах.

В контексте решения задач на примерах, обучаемые решают новые задачи, используя в качестве подсказок примеры из своего ранее полученного опыта. Решение задач на примерах не требует интенсивного взаимодействия клиент-сервер и может естественно использоваться в ОАС в Web. В качестве примера Web-системы, использующей эту технику, можно привести ELM-ART (Brusilovskyetal.) [9].

.Технология адаптивного представления.

Целью технологии адаптивного представления является адаптация содержания гипермедиа страницы под задачи пользователя, знания и др. Вся информация хранятся в модели пользователя. В системе с адаптивным представлением страницы не статичны. Они адаптивно генерируются или монтируются из частей для каждого пользователя. Например, при применении техники адаптивного представления хорошо подготовленный пользователь будет получать более детализированную и углубленную информацию, а новичок получит больше дополнительных пояснений. Адаптивное представление очень важно для глобальной сети, где одна и та же страница" приспосабливается к очень разным обучаемым. В качестве примера систем, в которых адаптивное представление реализовано в полной мере, можно привести две ОАС в Web: C-Book (Kay&Kummerfeld) и адаптивный курс DeBras вHypertext (Calvi&DeBra). Обе эти системы применяют технику условного текста. Некоторые другие системы используют адаптивное представление в особом контексте. СистемаMedtec (Eliotetal.) способна адаптивно генерировать резюме по главе книге. ELM-ART, AST и InterBook используют адаптивное представление для предоставления адаптивных предупреждений об обучающем статусе страницы. Например, если страница еще не готова для изучения ELM-ART и AST вставляют текстовое предупреждение в ее конец, InterBook вставляет предупреждающее изображение в виде красной полосы [9].

.Адаптивная поддержка совместной работы

Целью адаптивной поддержки совместной работы является использование знаний системы о различных пользователях (хранимых в моделях пользователя) для формирования сбалансированной группы для совместной работы. Существующие примеры содержат формирование групп для совместного решения задач в настоящий момент времени (Hoppe; Ikeda, Go&Mizoguchi) или нахождение самого компетентного обучаемого для ответа на вопрос по теме (то есть нахождение персоны с моделью, демонстрирующей хорошие знания по данной теме) (Bishop, Greer&Cooke; McCallaetal.). В настоящее время удачных применений данной технологии в Web не обнаружено [9].

.Адаптивная поддержка навигации.

Целью технологии адаптивной поддержки навигации является оказание помощи обучаемому в ориентации и навигации в гиперпространстве, изменяя появление видимых ссылок. В отдельных случаях система может адаптивно сортировать, аннотировать или частично прятать ссылки на текущей странице для облегчения выбора пользователем следующей ссылки. Адаптивная поддержка навигации (АПН) может рассматриваться как дополнение к адаптивному планированию в контексте гипермедиа. Она участвует в решение той же задачи - помочь обучаемому найти оптимальный путь в обучающем материале. В тоже время адаптивная поддержка навигации направляет обучаемого менее настойчиво, по сравнению с традиционным адаптивным планированием: она направляет обучаемого косвенным образом, разрешая выбрать следующий фрагмент заданий для изучения или следующую задачу для решения. Самая популярная форма АПН в Web это аннотирование. Оно применено в ELM-ART (Brusilovskyetal.), InterBook (Brusilovsky&Schwarz), WEST-KBNS (Brusilovsky, Eklund&Schwarz) и AST (Spechtetal.). InterBook также поддерживает адаптивную сортировку. Другой популярной технологией является блокировка - вариант сокрытия, при котором ссылки остаются видимыми, но пользователь не может перейти по ним до тех пор, пока не будет готов изучить страницу, вызываемую по этой ссылке. Так же ссылки делают полностью нефункционирующими, как в адаптивном курсе DeBras в Hypertext (Calvi&DeBra) и в системе (Anjaneyulu) или показывают пользователю список страниц, которые необходимо прочитать перед переходом на выбранную страницу, как это сделано в Albatros (Lai, Chen&Yuan) [9].

Таким образом, можно сделать вывод, что глобальная сеть - идеальная среда для развития адаптивных систем в области обучения. Имеются все предпосылки, чтобы заниматься этим. Ценность образования в нашем мире с каждым годом все только растет, люди стремятся получать качественные знания в интересующих их сферах. А среди всех видов дистанционного обучения самые качественные знания может дать только адаптивная обучающая система, поскольку она индивидуально подстраивается под самого ученика и отвечает уровню его способностей, его мышлению, способу представления материала.

2. Постановка задачи и проектная реализация


2.1 Постановка задачи


В рамках выполнения дипломной работы передо мной стояла задача изучить принципы компьютерного тестирования, психофизические аспекты личности и их влияние на качество усвоения студентом материала, а так же изучить различные Web-системы для обучения и тестирования. Так же необходимо было изучить следующие технологии программирования: язык программирования JavaEE, настройку сервера приложений GlassFish, фреймворк <#"center">2.2 Проект системы


Для реализации было выбрано следующее решение. При входе на главную страницу системы неавторизованному пользователю доступны следующие действия, которые представлены на рис.2.2.1


Рис.2.2.1 Схема функциональных возможностей неавторизованного пользователя.


Функциональные возможности преподавателя должны соответствовать следующей схеме:


Рис.2.2.2 Схема функциональных возможностей преподавателя.


Функциональные возможности студента должны соответствовать схеме, приведенной ниже.


Рис.2.2.3 Схема функциональных возможностей студента.


2.3 Функциональные возможности Web-приложения


Разработанный программный продукт позволяет работать с тремя группами пользователей:

·Студент

·Преподаватель

·Эксперт

В обучающей системе предусмотрено три группы пользователей: эксперт предметной области, преподаватель и студент. Эксперт формирует учебные курсы; преподаватель осуществляет сопровождение группы студентов; студент изучает необходимый материал и проходит тестирование [11].

Мною разрабатывался функционал только для двух групп пользователей - это студент и преподаватель, поэтому дальше будут рассматриваться только они.

Преподавателю возможны следующие возможности:

·Набирать себе группу на курс, просматривать заявки, пришедшие от заинтересованных в курсе студентов.

·Создавать и назначать своей группе функцию оценивания (созданную им или уже существующую).

·Назначать группе проценты для адаптивного тестирования: процент обязательных вопросов, процент правильных на них ответов и, в зависимости от последнего, процент дополнительных вопросов.

·Создавать тесты и творческие задания для существующего курса по заданным лекциям.

·Проверять творческие задания студентов и выставлять им за их ответы оценки.

В свою очередь студенту доступна возможность:

·Проходить адаптивное тестирование после прочтения адаптивной лекции.

·Выполнять поиск курсов, а также записываться на них.

·Просматривать свою личную информацию и редактировать ее.

·Проходить обыкновенные тесты по прочитанной лекции и выполнять творческие задания.

·Получать оценки по выполненным заданиям.

Так же в системе существует так называемый "неавторизованный" пользователь. Он имеет возможность так же, как и студент, прочитать адаптивную лекцию, пройти по ней адаптивное тестирование, просмотреть список преподавателей, прочитать информацию о системе, а так же воспользоваться системой как справочником.

При регистрации в системе студента обязывают пройти психологическое тестирование для выявления типа наилучшего представления информации, его разогрева (темперамента), а так же общего уровня образованности. Вся эта информация запоминается в системе и используется для адаптивной оценки его знаний.

Если студент читал адаптивную лекцию, то после ее прочтения предлагается приступить к тестированию.

В системе не заложено пула адаптивных тестовых заданий, абсолютно все задания генерируются автоматически на основе фактов, присутствующих в только что прочитанной студентом лекции. Все факты подразделяются экспертом на обязательные, т.е. те которые составляют основу изучаемого материала, и необязательные. В первую очередь генерируются вопросы на основе обязательных фактов, а затем, в зависимости от успешности ответов студента, генерируется определенное число вопросов на основе фактов, помеченных экспертом как необязательные. По окончанию теста система делает вывод об успешности усвоения студентом данного материала, и если материал был усвоен плохо, возвращает его на предыдущий этап прочтения лекции. При этом лекция генерируется заново, с, может быть, более упрощенным или более наглядным изложением материала. Таким образом, моделируется реальная ситуация опроса студента преподавателем [11].

Вопросы адаптивного тестирования подразделяются по следующим категориям: с выбором правильного ответа, требующие вписать пропущенное слово или название формулы или того, что изображено на картинке. Данные вопросы генерируются при помощи словаря синонимов и антонимов. К примеру, задание состоит в том, чтобы выбрать правильный вариант ответа из предложенных, тогда в факте выбирается слово, не являющееся предлогом, союзом, междометием или местоимением, антоним которого есть в словаре, и заменяется каким-либо из своих антонимов. После чего полученное предложение выводится на экран в качестве одного из возможных вариантов ответа. Таких вариантов может быть несколько, один из них обязательно должен быть правильным - в качестве него выводят текст самого факта. Вопросы из второй группы формируются так: в факте случайным образом выбирается слово, так же не относящееся к предлогам и пр., в программе оно запоминается, и на экран выводится текст факта без данного слова, или просто появляется картинка. Требуется ввести пропущенное слово или название изображения. Если студент точно называет требуемое слово, то, к примеру, получает один бал за правильный ответ, если "попадает" в один из синонимов - получает пол бала за правильный ответ [11]. Причем, количество вопросов каждого типа настраивается в процентах преподавателем и зависит от успешности ответов студента.

Отметим, что система оценки в системе для каждого студента неодинакова. Для каждой группы учащихся преподаватель задает некоторую оценочную функцию, по которой и происходит оценка результатов пройденных данными студентами тестов [11]. Если же преподаватель не задал функцию, то выбирается та функция по умолчанию, которая в полной мере сможет дать корректную оценку знаниям учащегося. Это делается для получения адекватных результатов тестирования, т.к., например, для студентов филологического факультета курс математики является ознакомительным, а не основным как для учащихся математического факультета, и оценивать эти две различные группы студентов нужно исходя из различных критериев [11].

Так же возможно создание преподавателем обыкновенных тестовых вопросов и творческих заданий для проверки знаний студентов по некоторой статичной лекции. Вопросы в тестах так же двух видов: с вариантом ответа и с полем для ввода. Преподаватель выбирает нужную лекцию, указывает название теста, тип вопроса, текст, а так же дополнительные варианты (количество и содержание), если он выбрал данный тип вопроса. После заполнения всех перечисленных полей вопрос сохраняется в базе. При создании творческого задания преподаватель действует аналогично. После создания теста студент может смело выполнять тестовые задания, причем за тест оценка выставляется так же в зависимости от функции оценивания, а творческое задание проверяется преподавателем.

3. Реализация программного продукта


3.1 Реализация базы данных


Для реализации программного продукта была выбрана СУБД Derby, поскольку она полностью написана на языке Java, поэтому может быть внедрена в любые Java-приложения и использована для сетевой обработки транзакций [12]. ApacheDerby разработан как открытый исходный проект по лицензии Apache 2.0. Derby, ранее распространялся как IBM Cloudscape. В настоящее время распространяется как SunJava DB.

СУБД Derby имеет следующие технологии [13]:

·Встроенный механизм работы с базой данных - ядро технологии, механизм СУБД Derby - полностью функционирующий на реляционных механизмах встроенной базы данных. Язык программирования для работы с данными полностью интегрированный API - JDBC и SQL диалект, который именуется как IBM DB2 SQL.

·Сервер - серверсети Derby увеличивает досягаемость механизма СУБД Derby, обеспечивая традиционные функциональные возможности клиент-сервера. Сетевой сервер позволяет клиентам соединяться по TCP/IP, используя стандартный протокол DRDA. Сетевой сервер позволяет механизму Derby поддерживать сетевой JDBC, ODBC/CLI, Язык Perl и PHP.

·Встроенный сервер - встроенная база данных может быть сконфигурирована так, чтобы действовать как гибридный сервер/встроенный RDBMS, также может принимать подключения TCP/IP от других клиентов в дополнение к клиентам в том же самом JVM.

·Утилиты для работы с базой данных:

ij - инструмент, который позволяет скриптам SQL выполняться на любой базе данных JDBC.- инструмент извлечения структуры базы данных Derby.- утилита, чтобы отобразить номера версии и прочую системную информацию.

Разработанная в рамках данной курсовой работы база данных состоит из 41 таблицы. Ее схема представлена на рисунке 3.1.1.


Рис.3.3.1 Схема базы данных.


Рассмотрим таблицы, используемые непосредственно в моей работе, более подробно.

Таблица "Fact".

Данная таблица предназначена для хранения информации о фактах, формирующих лекцию. Структура таблицы имеет вид:


Таблица 3.1.1 Таблица базы данных "Fact".

ПолеТипНазначениеID_FACTIntegerСлужит для нумерации фактовCONTENT_TYPEVarcharСодержит тип информации, хранящейся в фактеFACT_COLLECT_IDIntegerСлужит для указания коллекции, к которой относится фактOBLIGINGNumericУказывает обязательный ли это факт, если значение этого поля отлично от нуля, то факт обязательныйDIFICULTYIntegerСодержит число, определяющее сложность содержимого фактаCONTENTBLOBСодержит значение факта

Таблица "Fact_Collection".

Данная таблица используется для хранения информации о коллекциях фактов, относящихся к данному курсу. Структура таблицы имеет вид:


Таблица 3.1.2 Таблица базы данных "Fact_Collection".

ПолеТипНазначениеFACT_COLLECT_IDintegerСлужит для нумерации коллекцийNAMEvarcharСодержит имя данной коллекции

Таблица "Coll_Depend_From".

Данная таблица предназначена для хранения порядка предшествования коллекций фактов. Структура таблицы имеет вид:


Таблица 3.1.3 Таблица базы данных "Coll_Depend_From".

ПолеТипНазначениеCOL_IDIntegerСлужит для указания номера коллекции. DEP_COL_IDIntegerСлужит для указания номера предшествующей коллекции

Таблица "Classifier".

Данная таблица используется для хранения информации о существующих в системе классификаторах. Структура таблицы имеет вид:

Таблица 3.1.4 Таблица базы данных "Classifier".

ПолеТипНазначениеCLASSIF_IDIntegerСлужит для нумерации классификаторовNAMEVarcharСодержит имя данного классификатора

Таблица "Classifer_Values".

Данная таблица предназначена для связывания учебного курса с классификатором. Структура таблицы имеет вид:


Таблица 3.1.5 Таблица базы данных "Classifer_Values".

ПолеТипНазначениеCLASSIF_VALUES_IDIntegerСлужит для нумерации CLASSIF_IDIntegerСлужит для указания классификатора VALUEVarcharСодержит название курсаPARENT_IDIntegerУказывает на номер предшествующего курса.

Таблица "Fact_Classif_Values".

Данная таблица предназначена для назначенияфакту классификатора. Структура таблицы имеет вид:


Таблица 3.1.6. Таблица базы данных "Fact_Classif_Values".

ПолеТипНазначениеCLASSIF_IDIntegerСлужит для указания номера классификатора. FACT_IDintegerСлужит для указания номера фактаCLASSIF_VALUES_IDintegerСлужит для указания курса

Таблица "FactColl_Classif_Values".

Данная таблица предназначена для назначения коллекции классификатора. Структура таблицы имеет вид:

Таблица 3.1.7 Таблица базы данных "FactColl_Classif_Values".

ПолеТипНазначениеCLASSIF_IDintegerСлужит для указания номера классификатора. FACT_COLLECT_IDintegerСлужит для указания номера коллекции фактовCLASSIF_VALUES_IDintegerСлужит для указания курса

Таблица "Groups".

Данная таблица содержит информацию о зарегистрированных в системе группах. Структура таблицы имеет вид:


Таблица 3.1.8 Таблица базы данных "Groups".

ПолеТипНазначениеIDintegerСлужит для нумерации зарегистрированных в системе групп COURSE_IDintegerСтавит в соответствие группе курс для изучения.

Таблица "Person".

Данная таблица используется для хранения информации о пользователях, зарегистрированных в системе. Структура таблицы имеет вид:


Таблица 3.1.9 Таблица базы данных "Person".

ПолеТипНазначениеIDintegerСлужит для нумерации зарегистрированных в системе пользователей. NAMEvarcharСодержит имя пользователя. SURNAMEvarcharСодержит фамилию пользователя. PARTONIMICvarcharСодержит отчество пользователя. DATE_OF_BIRTHDateСодержит дату рожденияпользователя. CITY_OF_BIRTHVarcharСодержит город, в котором родилсяпользователь. CURRENT_COUNTRYVarcharСодержит страну, в которой живет сейчас пользователь. CURRENT_CITYVarcharСодержит город, в котором живет сейчас пользователь. MOB_TELVarcharМобильный телефон пользователя. HOME_TELVarcharДомашний телефон пользователя. SKYPEVarcharИмя аккаунта в сети Skype пользователя. ICQVarcharНомер ICQ пользователя. WEB_SITEVarcharСодержит адрес web-сайта пользователя. ADDITIONAL_INFORMATIONVarcharДополнительная информация, которую указал пользователь о себе. SEXVarcharСодержит пол пользователя. CURRENT_ADRESSVarcharТекущий адрес проживания.

Таблица "StudentGroup".

Данная таблица предназначена для указания связи между группой и студентом. Структура таблицы имеет вид:


Таблица 3.1.10 Таблица базы данных "StudentGroup".

ПолеТипНазначениеSTUDENT_IDintegerСлужит для указания студента, который записан на курс. GROUP_ IDintegerСлужит для указания группы, к которой относится студент.

Таблица "Words".

Данная таблица представляет собой словарь слов, которые являются синонимами и антонимами друг друга. Структура таблицы имеет вид:

Таблица 3.1.11 Таблица базы данных "Words".

ПолеТипНазначениеIDintegerСлужит для нумерации слов. WORDvarcharСодержит текущее слово.

Таблица "Syn_Ant".

Данная таблица предназначена для указания отношений между парами слов (слова являются синонимами или антонимами). Структура таблицы имеет вид:


Таблица 3.1.12 Таблица базы данных "Syn_Ant".

ПолеТипНазначениеIDintegerСлужит для указания номера слова. IDDEPENDENTintegerСлужит для указания номера зависимого от него словаRELATIONvarcharСлужит для указания отношения между этими словами (синонимы/антонимы)

Таблица "Additional_Question".

Данная таблица используется для хранения числа дополнительных вопросов, которые будут заданыстудентуиз указанной группы студентов в зависимости от числа правильно данных им ответов на вопросы, отмеченные как обязательные. Структура таблицы имеет вид:


Таблица 3.1.13. Таблица базы данных "Additional_Question".

ПолеТипНазначениеIDIntegerСлужит для нумерации. GROUP_ IDIntegerСлужит для указания номера группы, для которой задаются проценты. PERCENT_OBLIGATORY_QUESTIONintegerСодержит процент обязательных вопросов, которые будут заданы пользователю от общего числа фактов в лекции. PERCENT_ADDITIONAL_QUESTIONintegerСодержит процент дополнительных вопросов для данного процента правильных ответов. PERCENT_RIGHT_ANSWERSintegerДанное поле хранит информацию о проценте правильно данных студентом ответов на обязательные вопросы

Таблица "EstimationFunction".

Данная таблица предназначена для хранения созданных функций оценки. Структура таблицы имеет вид:


Таблица 3.1.14. Таблица базы данных "EstimationFunction".

ПолеТипНазначениеIDintegerСлужит для указания номера слова. EST_FUNCTIONvarcharХранит в себе текст функции.

Таблица "EstimationFunc_Group".

Данная таблица предназначена для сопоставления группе функции оценки. Структура таблицы имеет вид:


Таблица 3.1.15. Таблица базы данных "EstimationFunc_Group".

ПолеТипНазначениеIDintegerСлужит для указания номера слова. EST_FUNCTION_IDintegerСлужит для указания номера функции. GROUP_IDintegerСлужит для указания номера группы, для которой задается функция оценки.

Таблица "Education".

Данная таблица предназначена для хранения информации об учебном учреждении, к которому относится пользователь. Структура таблицы имеет вид:


Таблица 3.1.16. Таблица базы данных "Education".

ПолеТипНазначениеIDIntegerСлужит для нумерации. PERSON_ IDIntegerСлужит для указания пользователя. DEPARTMENT_IDIntegerСлужит для указания отделения, к которому относится пользователь. EDUCATION_STATUS_IDIntegerСлужит для указания статуса пользователя в данном учреждении. ENTER_DATEIntegerСодержит дату поступления. GRADUATE_DATEIntegerСодержит дату окончания.

Таблица "Department".

Данная таблица предназначена для хранения перечня отделений некоторого ВУЗа. Структура таблицы имеет вид:


Таблица 3.1.17. Таблица базы данных "Department".

ПолеТипНазначениеIDintegerСлужит для нумерации. FACULTY_ IDintegerСлужит для указания факультета. NAMEvarcharСодержит название отделения.

Таблица "Faculty".

Данная таблица предназначена для хранения перечня факультетов некоторого ВУЗа. Структура таблицы имеет вид:


Таблица 3.1.18. Таблица базы данных "Faculty".

ПолеТипНазначениеIDintegerСлужит для нумерации. UNIVERSITY_ IDintegerСлужит для указания университета. NAMEvarcharСодержит название факультета.

Таблица "University".

Данная таблица предназначена для хранения перечня ВУЗов. Структура таблицы имеет вид:


Таблица 3.1.19. Таблица базы данных "University".

ПолеТипНазначениеIDintegerСлужит для нумерации. COUNTRYvarcharСлужит для указания страны, в которой находится университет. SITYvarcharСлужит для указания города, в котором находится университет. NAMEvarcharСодержит название университета.

Таблица "Course".

Данная таблица является перечнем всех существующих в системе курсов. Структура таблицы имеет вид:


Таблица 3.1.21. Таблица базы данных "Course".

ПолеТипНазначениеIDintegerСлужит для нумерации. COURSE_NAMEvarcharСодержит в себе имя курса.

Таблица "Course_variation".

Данная таблица предназначена для сопоставления курса и преподавателя. Структура таблицы имеет вид:


Таблица 3.1.21. Таблица базы данных "Course_variation".

ПолеТипНазначениеIDintegerСлужит для нумерации. TEACHER_IDintegerСлужит для указания преподавателя, который ведет данный курс. COURSE_IDintegerСлужит для указания курса, который ведет указанный преподаватель.

Таблица "Lection_Course_Var".

Данная таблица задает соответствие лекции курс, к которому она относится. Структура таблицы имеет вид:


Таблица 3.1.22. Таблица базы данных "Lection_Course_Var".

ПолеТипНазначениеLECTION_IDintegerСодержит номер лекции. COURSE_VAR_IDintegerСодержит в себе номер курса.

Таблица "Lection".

Данная таблица содержит информацию о лекции. Структура таблицы имеет вид:


Таблица 3.1.23. Таблица базы данных "Lection".

ПолеТипНазначениеIDintegerСлужит для нумерации. NAMEvarcharЗадает имя лекции. PREVIOUS_VER_IDintegerСлужит для указания предыдущей версии данной лекции. AUTHORvarcharСодержит в себе имя автора лекции. CONTENTblobСодержимое лекции.

Таблица "Test".

Данная таблица содержит информацию о тестах, присутствующих в системе. Структура таблицы имеет вид:

Таблица 3.1.24. Таблица базы данных "Test".

ПолеТипНазначениеIDintegerСлужит для нумерации. NAMEvarcharЗадает имя теста. LECTION_IDintegerСлужит для указания номера лекции, по которой был создан тест. TEST_TYPE_IDintegerЗадает тип теста.

Таблица "TestType".

Данная таблица задает справочник типов тестов. Структура таблицы имеет вид:


Таблица 3.1.25. Таблица базы данных "TestType".

ПолеТипНазначениеIDintegerСлужит для нумерации. TYPEvarcharЗадает название типа теста.

Таблица "Task".

Данная таблица содержит информацию о тестовых заданиях, включенных в некоторый тест.

Структура таблицы имеет вид:


Таблица 3.1.26. Таблица базы данных "Task".

ПолеТипНазначениеIDintegerСлужит для нумерации. CONTENTvarcharЗадает текст тестового задания. TEST_IDintegerСлужит для указания номера теста, для которого было создано данное задание. TASK_TYPE_IDintegerЗадает тип тестового вопроса.

Таблица "TaskType".

Данная таблица задает справочник типов тестовых заданий. Структура таблицы имеет вид:


Таблица 3.1.27. Таблица базы данных "TaskType".

ПолеТипНазначениеIDintegerСлужит для нумерации. TYPEvarcharЗадает название типа тестового задания.

Таблица "AllAnswers".

Данная таблица содержит перечень всех возможных ответов на определенное задание.

Структура таблицы имеет вид:


Таблица 3.1.28. Таблица базы данных "AllAnswers".

ПолеТипНазначениеIDintegerСлужит для нумерации. TASK_IDintegerСлужит для указания номера тестового задания. ANSWER_IDintegerСлужит для указания номера ответа на данное тестовое задание.

Таблица "Answer".

Данная таблица содержит текст одного из ответов на тестовый вопрос.

Структура таблицы имеет вид:


Таблица 3.1.29. Таблица базы данных "Answer".

ПолеТипНазначениеIDintegerСлужит для нумерации. CONTENTvarcharЗадает текст ответа на тестовый вопрос. IS_RIGHTbooleanОпределяет правильный ли это ответ.

Таблица "StudentAnswer".

Данная таблица содержит ответ студента на творческое задание.

Структура таблицы имеет вид:


Таблица 3.1.30. Таблица базы данных "StudentAnswer".

ПолеТипНазначениеIDintegerСлужит для нумерации. CONTENTvarcharЗадает текст ответа на тестовый вопрос. STUDENT_IDintegerУказывает номер студента, ответившего на вопрос. TASK_IDintegerУказывает номер задания, для которого был получен ответ.

Таблица "Mark".

Данная таблица предназначена для хранения информации об оценках студентов по различным тестам.

Структура таблицы имеет вид:


Таблица 3.1.31. Таблица базы данных "Mark".

ПолеТипНазначениеIDintegerСлужит для нумерации полученными студентами оценок. MARKintegerСодержит оценку студента по данному тесту. STUDENT_ IDintegerСлужит для указания того студента, которому выставляется оценка. TEST_IDintegerСлужит для указания тестового задания.

Таблица "PsyhologicalPortrait".

Данная таблица предназначена для хранения информации о психологическом портрете студента.

Структура таблицы имеет вид:


Таблица 3.1.32. Таблица базы данных "PsyhologicalPortrait".

ПолеТипНазначениеIDintegerСлужит для нумерации полученными студентами оценок. STUDENT_ IDintegerСлужит для указания того студента, для которого создавался психологический портрет. INF_REPRESENT_TYPEvarcharСлужит для указания предпочитаемого типа представления информации. INF_DIFFICULTYvarcharСодержит в себе информацию о предпочитаемой сложности выдаваемых фактов. TYPE_VNDvarcharСодержит тип высшей нервной деятельности, к которому относится указанный студент.

ТаблицыCity, Country, Job, Message, MessageType, MessagePersonOrganization, Lection_Course, Post используются для других модулей системы "EduCube".


3.2 Реализация Web-модуля


Для реализации Web-модуля были изучены и используются такие технологии как язык программирования JavaEE, фреймворк <#"justify">Язык Java EE.

Эта корпоративная версия платформы помогает разработчикам создавать и развертывать переносимые, надежные, масштабируемые и безопасные серверные приложения на Java. Развивая возможности Java SE, Java EE предоставляет API Web-сервисов, компонентных моделей, удаленного взаимодействия и управления для реализации корпоративного программного обеспечения по принципам SOA и Web 2.0 [14].

Приложение, написанное на JavaEE имеет трехзвенную архитектуру: клиент, сервер приложений и база данных (рис.2.2.1). Трехуровневые приложения, выполняющиеся таким образом, расширяют стандартную 2-уровневую клиент-серверную модель помещением сервера многоуровневых приложений между клиентским приложением и сервером баз данных [15].

Приложения J2EE создаются на основе компонентов. Компонент J2EE - это самостоятельная функциональная программная единица, которая собирается в приложение J2EE вместе с относящимися к ней классами и файлами и которая сообщается с другими компонентами.


Рис.3.2.1 Многоуровневое приложения на JavaEE.


Спецификация J2EE определяет следующие компоненты J2EE:

)Прикладные клиенты и аплеты являются компонентами, выполняемыми на клиенте.

2)Компоненты технологий сервлетов JavaServlet и JavaServerPages (JSP) являются Web-компонентами, которые выполняются на сервере.

)Компоненты EnterpriseJavaBeans (EJB) (корпоративные бины) являются бизнес-компонентами, которые выполняются на сервере.

Компоненты J2EE пишутся на языке программирования Java и компилируются так же, как и любые программы на этом языке. Разница между компонентами J2EE и "стандартными" классами Java состоит лишь в том, что компоненты J2EE собираются в приложение J2EE, проверяются на формат и на соответствие спецификациям J2EE, и внедряются в продукт, где они выполняются и управляются сервером J2EE [15].страница, полученная с Web-уровня может включать в себя встроенный аплет. Аплет является маленьким клиентским приложением, написанным на языке Java, которое выполняется в Виртуальной Машине Java, установленной в браузере. Однако клиентская система при этом должна иметь подключение Java и, возможно, файл политики безопасности для того, чтобы аплет успешно выполнялся в Web-браузере [15], что не всегда хорошо, поскольку происходит смешивание прикладного программирования и проектирования Web-страницы. Поэтому предпочтительно использование Web-компонент.

Сервер и клиент должны также включать в себя компоненты, базирующиеся на компонентной архитектуре JavaBeans для управления потоком данных между клиентом-приложением или аплетом и компонентами, выполняющимися на сервере J2EE, или между серверными компонентами и базой данных. Компоненты JavaBeans не рассматриваются спецификациями J2EE как компоненты J2EE.

Фреймворк <#"justify">1.Создание темплейта и обработка ресурсов (archetype): На этой фазе разрешаются и, при необходимости, скачиваются из интернета зависимости.

2.Компиляция (compile)

.Обработка тестовых ресурсов. (Например - скачивается из интернета JUnit-пакет).

.Компиляция тестов. (Тестирующие классы не передаются конечным пользователям.)

.Тестирование (test)

.Упаковка (package). Обычно речь идет о создании JAR - или WAR-файла.

.Инсталляция проекта в локальномMaven-репозитории (install). Теперь он доступен как модуль для других локальных проектов.

.Инсталляция в удаленномMaven-репозитории (deploy). Теперь стабильная версия проекта доступна широкому кругу разработчиков.

К основным преимуществам Mavenможно отнести [18]:

·Независимость от OS. Сборка проекта происходит в любой операционной системе. Файл проекта один и тот же.

·Управление зависимостями. Редко какие проекты пишутся без использования сторонних библиотек (зависимостей). Эти сторонние библиотеки зачастую тоже в свою очередь используют библиотеки разных версий. Мавен позволяет управлять такими сложными зависимостями, что позволяет разрешать конфликты версий и в случае необходимости легко переходить на новые версии библиотек.

·Возможна сборка из командной строки. Такое часто необходимо для автоматической сборки проекта на сервере.

·Хорошая интеграция со средами разработки. Основные среды разработки на java легко открывают проекты, которые собираются c помощью maven. При этом зачастую проект настраивать не нужно - он сразу готов к дальнейшей разработке.

·Как следствие - если с проектом работают в разных средах разработки, то maven удобный способ хранения настроек. Настроечный файл среды разработки и для сборки один и тот же - меньше дублирования данных и соответственно ошибок.

·Декларативное описание проекта.

Система управления версиями Git.

Git - это распределённая система управления версиями <#"justify">1.Вы изменяете файлы в вашем рабочем каталоге.

2.Вы подготавливаете файлы, добавляя их слепки в область подготовленных файлов.

.Вы делаете коммит. При этом слепки из области подготовленных файлов сохраняются в каталог Git.

Если рабочая версия файла совпадает с версией в каталоге Git, файл считается зафиксированным. Если файл изменён, но добавлен в область подготовленных данных, он подготовлен. Если же файл изменился после выгрузки из БД, но не был подготовлен, то он считается изменённым.

Структура Web-модуля.

Разработанный программный продукт состоит из 11java-бинов, обеспечивающих основную функциональность приложения. Рассмотрим их более подробно.

1.TaskBean. java-класс, отвечающий за генерацию адаптивных тестовых заданий, проверку ответов и выставления оценки студенту. Его интерфейс реализуют следующие страницы:

1)adaptive_invitation. xhtml - страница с побуждающая пройти адаптивное тестирование после прочтения адаптивной лекции.

2)student_test. xhtml - страница, реализующая интерфейс адаптивного тестирования студента.

)student_mark. xhtml - страница, реализующая интерфейс показа оценки студенту после прохождения тестирования.

2.EstFunctionBean. java - класс, отвечающий за создание функции оценивания, а так же за назначение созданной или существующей функции тестирования некоторой группе. Его интерфейс реализуют следующие страницы:

)create_est_function. xhtml - страница, реализующая интерфейс создания функции оценивания.

2)assign_est_function. xhtml - страница, реализующая интерфейс назначения некоторой группе функции оценивания.

)mark_control. xhtml - связующая страница, реализующая интерфейс, позволяющий выбирать из предыдущих двух действий.

3.AddQuestionBean. java - класс, отвечающий за назначение группе процентов обязательных и дополнительных вопросов. К страницам, реализующим его интерфейс, относятся:

)mark_control. xhtml - страница, позволяющая непосредственно перейти к интерфейсу назначения процентов.

2)assign_at_percent. xhtml - страница, реализующая интерфейс назначения процентов выьраному курсу.

4.TasksCreateBean. java - класс, отвечающий за создание преподавателем обыкновенных тестов и творческих заданий по выбранной лекции. Интерфейсными страницам для данного класса являются:

)check_tasks_type. xhtml - страница, реализующая интерфейс выбора создаваемого задания, т.е. позволяющая делать выбор между созданием теста и проверяемого задания.

2)test_creation. xhtml - страница, реализующая интерфейс создания теста по выбранной лекции.

)create_test_tasks. xhtml - страница, реализующая интерфейс создания тестового задания определенного типа: с полем ввода или вариантом выбора.

)task_creation. xhtml - страница, реализующая интерфейс создания проверяемого тестового задания по выбранной лекции.

5.StudentPS. java - класс, содержащий основную информацию о студенте: его идентификационный номер, набор курсов и прочее. К страницам, основанным на данном классе можно отнести страницу courses. xhtml, которая осуществляет интерфейс навигации по доступным студенту курсам.

6.CoursesStudentBean. java - класс, отвечающий за поиск доступных курсов в системе и осуществляющий запись студента на понравившийся ему курс из найденных. search_course. xhtml - страница, реализующая интерфейс для данного класса: поиск курсов и запись на них.

.StudentLectionsBean. java - класс, содержащий в себе выборку всех лекций по данному курсу. Страница lections. xhtml реализует его интерфейс.

.StudentLectionBean. java - класс, отвечающий за отображение выбранной лекции для студента. Страница lection. xhtml реализует его интерфейс.

.TestsBean. java - класс, содержащий в себе выборку всех заданий (тестовых и творческих) по данному курсу. tasks. xhtml - страница, реализующая его интерфейс; обеспечивает переход к выбранному заданию для его выполнения.

.CreationBaseTest. java - класс, отвечающий за выдачу студенту выбранного им теста для выполнения, проверку ответов и выдачу результатов тестирования. К страницам, реализующим интерфейс данного класса, относятся:

1)base_test. xhtml - страница, используемая для выдачи студенту вопроса с полем для ввода ответа.

2)check_test. xhtml - страница, используемая для выдачи студенту вопроса с вариантом ответа.

)result_of_test. xhtml - страница, реализующая интерфейс вывода результата.

11.CreationCreativeTest. java - класс, содержащий в себе функционал выдачи студент выбранного им творческого задания, а так же сохранения его в базу и последующее оповещение преподавателя о поступивших непроверенных заданиях. Страница creative_test. xhtml реализует его интерфейс.

4. Описание интерфейса Web-модуля


Начальная страница программного продукта имеет вид, представленный на рисунке 4.1.


Рис.4.1 Главное окно программного продукта.


Данная страница позволяет войти пользователю в систему. Для этого ему необходимо ввести свой логин и пароль и нажать кнопку "Войти" или клавишу Enter. При нажатии этой кнопки, если пользователь был зарегистрирован, произойдет вход в систему, иначе будет выведено сообщение об ошибке. Отметим, что система авторизации здесь устроена таим образом, что не существует способа проникнуть в систему, не проходя ее, например, введя URL нужной страницы - в этом случае вы так же останетесь на стартовой странице системы. Это возможно благодаря специальным настройкам и технологиям сервера приложений GlassFish.

Если пользователь впервые посетил систему и еще в ней не зарегистрирован, то при нажатии кнопки "Регистрация", появится страница, содержащая поля для ввода информации, необходимой для регистрации пользователя. Заметим, что все поля обязательны для заполнения. После ввода необходимой информации и нажатии кнопки "ОК", пользователь возвращается к окну авторизации пользователей, где ему для входа в систему необходимо заполнить все соответствующие поля.

При успешной авторизации происходит вход в систему, при этом для преподавателя загружается личный кабинет преподавателя, а для студента - личный кабинет студента.

Если пользователь зашел под преподавателем, то на своей главной странице он получит доступ к своей персональной информации, сможет редактировать ее, перейдя по ссылке редактировать, а так же сможет просматривать свои личные сообщения, нажав кнопку "Сообщения" и управлять своими курсами, нажав кнопку "Курсы".

Перейдя к странице управления курсами, преподаватель сможет создать новый курс, изменить параметры оценивания учащихся в своих группах, а так же обновить уже существующие курсы, нажав на ссылку с именем курса. В результате данного действия, он окажется на странице, с которой он может получить доступ к созданным лекциям или добавить новую лекцию, создать тестовые задания, просмотреть заявки от студентов, желающих записаться к нему на курс, проверить творческие задания студентов или принять участие в видеоконференции.

Перейдя по ссылке "Создать тест" преподаватель должен выбрать, что он хочет создать: тест или творческое задание. Для этого он выбирает один из предложенных вариантов и нажимает кнопку "Создать". Если преподаватель захотел создать тест, то он попадает на страницу, где ему необходимо выбрать в выпадающем списке лекцию, для которой он будет создавать данный тест и ввести название создаваемого теста, после чего необходимо нажать кнопку "Создать".

В результате мы окажемся на странице создания тестов (рис.4.2), где необходимо будет ввести текст вопроса, выбрать тип задаваемого вопроса: с полем для ввода или с вариантом выбора, ввести правильный ответ, количество дополнительных вариантов и их содержание, если был выбран соответствующий тип вопроса. Затем необходимо нажать клавишу "Сохранить" и, если необходимо создать еще один вопрос, нажимают клавишу "Создать еще один вопрос". После того, как все вопросы будут созданы нужно нажать клавишу "Назад" - она приведет вас к странице выбора типа создаваемого задания.


Рис.4.2 Создание тестового вопроса.


Если же преподаватель захотел создать проверяемое задание, то он перейдет к странице создания творческого задания. Там ему необходимо будет выбрать лекцию из выпадающего списка, для которой он создает данное задание, ввести название тестового задания и непосредственно сам текст задания, после чего необходимо нажать кнопку "Сохранить". Если задание было успешно создано, то можно нажать кнопку "Назад", которая нас вернет на предыдущую страницу. Отметим, что под кнопками выбора типа создаваемого задания присутствует перечень уже созданных творческих заданий, и если преподаватель захочет, то он сможет их удалить.

Помимо создания тестовых заданий, преподаватель можетпроверять творческие задания студентов. Для этого ему необходимо перейти по ссылке "Работы для проверки", расположенной на корневой странице того курса, который он выбрал. Здесь будет отображен перечень, содержащий в себе курс и лекцию, по которой было сделано задание, сам текст задания и имя студента, выполнившего его. Выбрав интересующую его строчку и нажав кнопку "Проверить", преподаватель перейдет к странице, на которой будет отображен текст задания, ответ студента, а так же будет поле для ввода оценки. Для завершения проверки задания достаточно будет заполнить его и нажать кнопку "Поставить". Кнопка "Назад" вернет нас к перечню непроверенных заданий.

Так же преподаватель может создавать функцию оценивания, назначать ее и проценты для адаптивного тестирования своей группе. Доступ к данному функционалу можно получить, нажав в левом углу кнопку "Курсы" и перейдя по ссылке "Управление оценкой". В этом случае он попадает на страницу, с которой он может перейти по одной из трех ссылок: "Создать функцию оценивания", "Назначить функцию оценивания группе" и "Задать проценты для адаптивного тестирования". Перейдя по первой ссылке, пользователь попадет в меню создания функции оценивания. Здесь ему необходимо ввести текст функции оценивания и нажать кнопку "Сохранить", причем если функция уже существует, то преподаватель не сможет ее добавить. Рядом с кнопкой "Сохранить" присутствует кнопка "Назад", которая вернет нас на предыдущую страницу. Ниже данных кнопок будет показан перечень уже существующих в системе функций оценивания.

Если пользователь перешел по второй ссылке "Назначить функцию оценивания группе", то он попал на страницу назначения группе функции оценивания. Для этого ему необходимо в выпадающем списке выбрать курс, которому он будет назначать функцию, а так же выбрать саму функцию оценки из перечня существующих функций. После чего, для сохранения результата, необходимо нажать кнопку "Сохранить". При этом, если данной группе уже была назначена функция оценивания, то она будет заменена на выбранную. После нажатия данной кнопки обновится список групп данного преподавателя с уже назначенными функциями оценки. При желании пользователь может удалить любое из этих соответствий, если считает его ненужным. Кнопка "Назад" вернет нас на предыдущую страницу.

Перейдя по третьей ссылке, пользователь окажется на странице задания группе процентов для адаптивного тестирования. Здесь ему так же необходимо будет выбрать курс из выпадающего списка, ввести значения процентов обязательных и дополнительных вопросов, а так же процент правильных ответов при котором будет задаваться установленное число дополнительных вопросов. После чего следует нажать кнопку "Сохранить", причем если группе уже были поставлены в соответствие именно эти значения процентов, то они не будут сохранены. После нажатия кнопки "Сохранить" внизу обновится перечень уже существующих соответствий "группа - проценты", и преподаватель по своему желанию может любое из них удалить. Кнопка "Назад" вернет нас на предыдущую страницу.

Если же пользователь зашел в систему как студент, то для него отобразится начальная страница студента с его личной информацией (рис.4.3).


Рис.4.3 Личный кабинет студента.


Помимо личной информации студенту так же доступны возможности просматривать сообщения и иметь доступ к курсам. Нажав кнопку "Курсы" студент перейдет на страницу с перечислением всех курсов, на которые он записан. Если же таких курсов нет или студенту хочется взять еще один курс, то на этой же странице необходимо кликнуть по ссылке "Поиск курсов". В этом случае отобразится страница с критериями поиска курсов в системе. К ним относятся: имя курса, имя преподавателя (ФИО), максимальное и минимальное число учащихся. Если ни одно из этих полей не будет заполнено, то система выдаст полный перечень всех имеющихся в ней курсов. Для поиска курсов, отвечающих заданным критериям, нужно нажать кнопку "Найти", а для их отображения - кнопку "Показать". В результате высветится перечень курсов, удовлетворяющих условиям студента. Поставив галочку напротив понравившегося курса и нажав кнопку "Записаться", студент отправит запрос преподавателю, ведущему данный курс, о своем желании принять участие в его изучении. После того, как преподаватель добавит студента к группе, данный курс отобразится в перечне курсов данного студента. Кнопка "Назад" вернет нас к данному перечню.

После того, как у студента появился курс для изучения, он может кликнуть на его название и перейти к странице, отвечающей за функциональные возможности работы с данным курсом. К ним относятся: просмотр расписания лекций, список лекций и список заданий для выполнения.

Перейдя по ссылке "Расписание лекций" студент получит информацию о расписании лекций по данному курсу и о том, когда будет следующая лекция. Если же пользователь перейдет по ссылке "Лекции", то ему высветится перечень названий существующих лекций в виде ссылок, кликнув по одной из них, он сможет либо загрузить ее в формате PDF, либо открыть в браузере.

Если же пользователь выберет ссылку "Задания", то ему отобразится страница с двумя вкладками: тесты и творческие задания. На каждой из вкладок содержится список задний соответствующего типа по выбранному курсу. Причем список составляют только те задания, которые студент еще не выполнил. Выбрав вкладку "Тесты" и кликнув на название некоторого задания, студент перейдет к выполнению теста. В заданиях с вариантом выбора ему необходимо выбрать один из предложенных вариантов (рис.4.4), а в заданиях с полем для ввода - ввести свой вариант ответа, после чего нажать на кнопки "Ответить" и "Следующий вопрос". По завершении теста студенту будет выдан заработанный им за тест бал. Возможность заново пройти тестирование не предусмотрена.

В случае выбора студентом вкладки "Творческие задания" он так же увидит список заданий с именами в виде ссылок. Выбрав одну из них, он перейдет к странице выполнения творческого задания, на которой будет отображен текст самого задания и текстовое поле для ввода ответа. После того как ответ будет дан, студент должен нажать кнопку "Сохранить". Теперь данное задание доступно преподавателю для проверки. Кнопка "Назад" вернет студента к перечню заданий.


Рис.4.4 Тестовое задание с выбором варианта ответа.


Так же в системе, помимо студента и преподавателя, есть, так называемый, "неавторизованный" пользователь. Он может просматривать информацию о системе, прочитать адаптивную лекцию, пройти по ней адаптивное тестирование, просмотреть список преподавателей, а так же воспользоваться системой как справочником.

Если данный пользователь решил прочитать адаптивную лекцию, то перед ее прочтением ему будет предложено пройти психологическое тестирование для определения предпочитаемого им вида представления информации, кривой его "разогрева", а так же об общем уровне интеллекта. Все перечисленные параметры будут учитываться при построении адаптивной лекции и адаптивных тестов, а так же при выставлении пользователю оценки после тестирования.

После прочтения адаптивной лекции пользователю будет предложено пройти адаптивное тестирование. Для этого необходимо нажать кнопку "Начать", расположенную под приглашающим сообщением.

После нажатия данной кнопки произойдет переход на страницу, где начнут генерироваться тестовые вопросы на основе тех фактов, которые присутствовали в только что прочитанной пользователем лекции. Соответственно на данной странице будет отображаться сам вопрос и поле для ввода ответа (рис.4.5).


Рис.4.5 Адаптивное тестирование.


Вопросы могут быть с выбором варианта ответа, с полем для ввода ответа. Последние, помимо текста, могут так же основываться на картинках и формулах (рис.4.5). После ввода текста ответа пользователь должен нажать кнопку "Ответить", а затем кнопку "Дальше". Нажав кнопку "Выйти" пользователь выйдет из тестирования и потеряет полученный результат.

По завершению тестирования загрузится страница, содержащая полученный пользователем бал за пройденный тест.

Заключение


В рамках выполнения дипломной работы были изучены принципы компьютерного тестирования, психофизические аспекты личности и их влияние на качество усвоения студентом материала, а так же были изучены различные Web-системы для обучения и тестирования. Помимо прочего, были изучены и использованы для разработки следующие технологии программирования: язык программирования JavaEE, настройка сервера приложений GlassFish, фреймворк <#"center">Список использованных источников


1.#"justify">2.Е.Г. Шуткова "Актуальность системы дистанционного образования в современном образовательном процессе".

.#"justify">4.#"justify">5.#"justify">.#"justify">7.Алексеева Е.Н., Фельдман Я.А. "Педагогика для России".

.П.Л. Брусиловский "Адаптивные обучающие системы в WorldWideWeb: обзор имеющихся в распоряжении технологий"

9.Рабочий семинар Адаптивные системы и моделирование пользователя в WWW - 2005 г. - http://www.contrib. andrew. cmu.edu/~pbl/UM97_workshop/ <http://www.contrib.andrew.cmu.edu/%7Epbl/UM97_workshop/>.

.А.П. Жуланова, М.В. Пекшева "Модель обучающей системы с функцией тестирования, основанная на коллекциях фактов" // Краснодар, 2011.

11.http://java. sun.com.

12.http://projects. apache.org/projects/derby.html.

.www.ibm.com/developerworks/ru/java/newto/.

14.http://download. oracle.com/javaee/1.4/tutorial/doc/.

15.http://ru. wikipedia.org/wiki/Apache_Maven.

.http://habrahabr.ru/post/77382/.

.http://www.apache-maven.ru/.

.ru. wikipedia.org/wiki/Git.

.http://www.ibm.com/developerworks/ru/library/l-git_1/.

.http://git-scm.com/book/ru.


Федеральное агентство по образованию Российской Федерации Государственное образовательное учреждение Высшего профессионального образования "Кубанс

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ