Котенко Олег Николаевич

Специальность: «Системное программирование»
Группа: СП-01м
email: kotenko@istil.com.ua
Тема магистерской работы: «Разработка средств и методов автоматизации процесса создания вопросов в системах дистанционного тестирования знаний»
Руководитель: доц. Зинченко Ю.Е.

Олег Котенко

en | ukr

Донецкий Национальный Технический Университет

Портал магистров ДонНТУ

Факультет вычислительной техники и информатики

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

П.А. Рогов, Н.А. Борисов
Сборник статей Тверского государственного технического университета, 2006

Введение

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

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

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

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

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

Если первый вопрос является чисто техническим и решается выбором иного протокола передачи данных и способа соединения с сервером, то второй представляет собой достаточно сложную проблему, как технически, так и алгоритмически. Рассмотрим этот вопрос подробнее.

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

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

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

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

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

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

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

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

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

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

Рассмотренная модель учебного курса позволяет предсказывать последовательность переходов обучаемого между элементами курса, т.к. эта последовательность достаточно жестко задается разработчиком курса. Также существует возможность предсказать последовательность обратных переходов, т.к. для каждой темы и для каждого урока можно проанализировать имеющиеся связи с предыдущими элементами. Итак, предложенная модель обучающего курса позволяет с большой точностью предсказать поведение пользователя и осуществить кэширование необходимых данных. На рисунке 1 схематически изображена модель обучающего курса. Стрелками показана возможность перехода между уроками. Из рисунка видно, что студент не может перейти от урока 1 (L1) к уроку 3 (L3), минуя урок 2 (L2). Однако, дойдя до урока 3, он может вернуться к уроку 1 для повторения материала.

Модель учебного курса

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

При работе с описанной реляционной моделью учебного курса алгоритм предсказывания переходов студента между уроками или тестами сводится к анализу установленных связей. Кэширование же информации состоит в загрузке необходимых уроков с сервера и сохранение их на локальном компьютере. Рассмотрим рисунок 1. Пусть в момент обрыва связи с сервером студент изучал урок #4 (L4). В таком случае, в соответствии с расстановленными связями, следующим уроком по программе будет урок #5. Следовательно, его необходимо кэшировать в первую очередь. Урок #4 также двунаправлено связан с уроком #3, что означает, что студент может вернуться к уроку #3 для повторения материала. Следующим шагом будет загрузка уроков второго и последующего уровней, отсчитывая от текущего. Т.е. уроков #6 и #2. И в последнюю очередь следует кэшировать урок #1. Также следует обратить внимание на то, что кэширование последующих уроков имеет больший приоритет, чем кэширование предыдущих, т.к. большая часть студентов будет чаще переходить к следующему уроку в курсе, чем к предыдущему.

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

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

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

Обсуждая вопрос разработки программного комплекса для мобильных устройств, необходимо указать какие именно существующие платформы имеются. В первую очередь сюда относятся различные решения компании Microsoft в сфере мобильных устройств: Windows CE и Windows Mobile, поддерживающие платформу .NET Compact Framework. Также сюда относятся системы на платформе PocketPC. Для программной реализации системы была выбрана платформа программирования Microsoft .NET Framework, как одно из наиболее современных средств разработки как для настольных, так и для мобильных платформ. Межплатформенная переносимость системы заключается лишь в возможности использования исходного кода системы на других платформах, поддерживающих .NET Framework.

Для обеспечения переносимости системы не только между различными системами семейства Windows, но и Linux и др. рассматривается возможность использования сторонних библиотек, схожих с .NET Framework. Например, Mono (www.mono-project.com).

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

Заключение

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

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

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