Орловский государственный университет
*****@***net
Анализ структуры и особенностей реализации
программного комплекса
для дистанционного обучения, ориентированного на преподавание математических дисциплин
Проанализируем структуру программного комплекса (ПК) для проведения дистанционного обучения (ДО) в сетевой форме, его основные блоки и особенности, связанные с ориентацией ПК, для занятий по математическим дисциплинам.
Обучение такого рода дисциплинам предполагает использование информации математического характера. Под ней, как правило, понимают графики, математические выражения, уравнения, формулы. Вследствие того, что взаимодействие субъектов процесса двустороннее, информация такого характера должна поступать не только учащимся, но и передаваться от них в систему, например в качестве ответов на задания. Ниже рассмотрим проблемы, связанные с представлением этого вида информации, и предложим решения некоторых из них.
Средой для реализации сетевого ДО является всемирная сеть Интернет со всем многообразием предоставляемых ею ресурсов. В общем случае, обучающемуся достаточно иметь рабочее место, оснащенное Интернет-браузером, который содержит виртуальную машину языка Java и таким образом может выполнять java-апплеты, для этого подходят Mozilla, NN, MS IE. Последние версии указанных продуктов позволяют корректно отображать html-страницы, содержащие таблицы стилей, заданные с использованием языка XML. Обучающей стороне, в данном случае учреждению, проводящему ДО, необходимо поддерживать так называемый сервер ДО. Его службы, как правило, реализуют технический аспект обучения.
Серверная часть системы ДО должна: предоставлять возможность доступа к учебным пособиям и разграничивать его; позволять проводить контрольные работы с ограничением доступа к учебной информации; обеспечивать возможность взаимодействия субъектов обучения в режиме on-line и off-line, т. е. поддерживать форум, чат и внутреннюю электронную почту; позволять вести учет успеваемости студентов и мониторинг их активности; давать возможность преподавателям добавлять в банк учебных материалов системы новые учебные курсы и контрольные тесты.
Для предоставления информации, как правило, используется http-сервис. Он позволяет не только передавать статические странички по запросам клиентов, но и организовывать диалог с использованием html-форм и CGI-скриптов. Теоретически, возможностей Web-сервера достаточно для реализации ПК ДО. Но, практически, разработчики идут двумя путями. Разрабатывают ПК, который использует http-протокол для взаимодействия с клиентом, тем самым подменяет собой Web-сервер, или создают набор CGI-скриптов, которые выполняют все необходимые действия.
Первый подход имеет неоспоримые преимущества: эффективный программный код, оптимизированный под конкретную задачу обеспечивает минимальное время реакции. Пример подобного программного продукта — система WebCT, используемая в МЭСИ.
Второй подход является более простым в реализации, однако требует использования CGI-скриптов, способных быстро обрабатывать запросы. В этом случае также возможно два варианта реализации. Это зависит от того, каким образом хранится информация, составляющая учебные курсы.
Если она находится в базе данных и для передачи ее клиенту используется обращение к CGI-скрипту, то контроль доступа в целом возлагается на скрипт, но и возрастает нагрузка на него.
Также учебные курсы может предоставлять непосредственно Web-сервер, и хранить их можно прямо в структуре его каталогов, а скриптам поручить другие задачи, например, обработку процесса регистрации пользователей, выдачу допусков. Разграничивать доступ в данной схеме будет Web-сервер. В такой ситуации скриптам необходимо тесно взаимодействовать с операционной системой и с Web-сервером, а ему соответственно иметь некоторый программный интерфейс для этого взаимодействия. Пример системы, использующей такую структуру — PROMETEUS (Прометей, Москва).
Останавливаясь на втором способе реализации ПК, необходимо рассмотреть возможные пути создания CGI-скриптов. Их можно разрабатывать на любом языке, главное, чтобы они могли взаимодействовать с сервером через входной и выходной потоки и читать содержимое переменных окружения, выставляемых при их запуске Web-сервером. Очень часто скрипты разрабатывают на языках C, Perl. Также широко применяются технологии создания скриптов PHP и ASP.
Скрипты, написанные на языке Perl, PHP и ASP, очень технологичны вследствие быстроты разработки и ряда других причин, однако исполняет их интерпретатор. Программы, написанные на языке С, компилируются в непосредственно исполняемые файлы. Трудно оспорить выигрыш в производительности получаемый от откомпилированного программного кода по сравнению с интерпретируемым кодом. Но даже в последнем случае под обработку каждого запроса выполняется запуск копии CGI-скрипта. Время, затраченное сервером на формирование окружения, на ожидание завершения загрузки в память образа программы и ее старта операционной системой, может оказаться намного больше времени обработки скриптом самого запроса.
Самым удачным выбором в данном случае оказываются технологии, использующие SAPI — программный интерфейс Web-сервера. Примером могут служить MS ISAPI, NSAPI или Apache modules. Несмотря на высокую сложность разработки, получаются программы высокого качества. Поскольку такие «скрипты» работают как часть самого Web-сервера, нет затрат времени на запуск, кроме этого, если программа способна параллельно обрабатывать большое количество запросов, получаем эффект при большой нагрузке на сервер в единицу времени. Нередки случаи, когда время реакции этого вида скриптов меньше, чем время реакции самого сервера на запрос статического содержимого, например Web-странички.
Этот способ разработки скриптов оказывается более удачным, чем первый, т. е. создание программ, подменяющих собой Web-сервер. Во-первых, значительно меньший объем работы, во-вторых за счет тесного взаимодействия с сервером можно реализовать функции, которые невозможно реализовать при помощи CGI-скриптов.
Поскольку большую часть необходимых функций берет на себя Web-сервис, остальные системы сервера могут быть задействованы в той или иной степени или, вообще, в какой-то момент не будут использоваться.
Например, службы электронной почты, работающие через SMTP и POP3-протоколы, успешно подменяются подобием электронной почты, реализованной посредством того же Web-интерфейса. С его помощью может происходить общение конкретного слушателя со своим преподавателем. Преподаватель может отвечать на вопросы, разъяснять сложные моменты курса, направлять процесс обучения, контролировать знания.
Остановимся теперь на клиентской части системы ДО подробнее. Главной задачей создателей учебных курсов является снабжение их элементами интерактивности. В этом случае хорошо себя зарекомендовало использование html-технологий в сочетании с использованием исполняемого содержимого Web-страничек, например, программ на языке Java —script - и Java-программ. Это достаточно надежный способ, а также он наделен свойством интерактивности для учебного материала. Кроме того, реализуется другое важное свойство — переносимость. И html и Java будут одинаково отображаться и работать соответственно на любой платформе, где реализована их поддержка в принципе.
Также указанным путем может быть решена проблема дружественного интерфейса. При разработке учебных курсов по разным специальностям и, в особенности курсов по математическим дисциплинам, она стоит достаточно остро. Связано это, в первую очередь, с тем, что математическая информация порой не может быть отображена подобно обычному тексту. Например, для написания дробных выражений будет недостаточно текстовой строки; при проведении тестирования знания учащихся им необходимо ввести полученный при решении задания ответ, который представляет собой математическое выражение.
Данные проблемы могут быть решены и решаются несколькими путями.
Отображение информации производится путем формирования Web-страничек, где математические формулы заменяются их графическим начертанием. Поскольку средства html-языка для математической нотации не очень богаты, такой способ широко используется в Интернете. Аналогично, если набранный в MSWord математический текст сохранить в формате html, текстовый конвертор из поставляемых в комплекте с Office, отвечающий за данную операцию, сгенерирует html-файл с текстом и комплект картинок в формате gif, каждая из которых будет представлять какое-либо математическое выражение, встреченное на данной страничке. В современных версиях MSWord есть возможность сохранить документ в формате mht, в результате такого сохранения все компоненты Web-странички попадают в один файл.
Также для вывода подобных страничек можно использовать систему WebEquation — апплет, который в своем окне выводит математическую формулу по заданному параметру. Этот параметр представляет собой то же математическое выражение, записанное в особом формате, близком к языку математической записи в системе TeX. Это также позволяет легко преобразовывать в html документы, набранные в популярной у математиков издательской системе TeX. Этот способ достаточно гибкий и, на первый взгляд, удобный. Однако если в страничке имеется несколько формул, отображение их происходит с заметной временной задержкой.
Третий подход заключается в использовании математических шрифтов и ресурсов самого языка html. Но нет гарантии, что это будет действовать на всех платформах ибо, попросту, могут отсутствовать необходимые шрифты или поддержка соответствующих каскадных стилей.
Проблему ввода информации от учащегося можно решать следующим образом. Самым простым решением будет вводить формулы и выражения в формате TeX. В этом случае любые выражения могут быть записаны строкой текста. Но не все знакомы с данной системой, поэтому сначала придется разъяснить основные принципы записи выражений, это не представляет большой сложности и не потребует слишком больших временных затрат.
Другим вариантом является создание средства визуального конструирования формул, подобного MSEquation либо MathType, в виде Java-апплета. В этом случае учащийся, загрузив такую страничку, может легко ввести полученный им ответ для тестирования. Создать такую систему можно на базе того же WebEquation.
Обработку результатов можно организовать как на клиентском месте, включив ее в апплет с визуальным средством ввода, так и на сервере, передав на него данные через интерфейс CGI.
В первом случае получаем систему достаточно тяжелую и сложно модифицируемую, ведь для того, чтобы изменить содержание теста необходимо, по крайней мере, перекомпилировать апплет, предварительно внеся в него необходимые изменения. Кроме того, апплет получается значительного размера. Выходом из данной ситуации будет хранение данных для проверки тестов в виде файла. Тогда наш апплет после старта может начать загружать этот файл с сервера, организовав поток с низким приоритетом. Таким образом, когда пользователь приступит к проверке своего результата, большая часть файла будет уже загружена и проверка может осуществляться достаточно быстро.
Для итоговой проверки знаний необходима более защищенная система — это клиент-серверная модель. В этом случае апплет передает информацию, принятую от пользователя, на сервер через CGI интерфейс, где и осуществляется проверка правильности решения теста. На сервере работает, в зависимости от выбранного способа реализации или программный комплекс, или CGI-скрипт.
Еще один важный момент касается, возложенных на систему, методических функций. Работа тьютора согласуется с процессом автоматизации серверной части. В этом случае тьютору, помимо знаний в своей области, необходимо быть знакомым с языком html. Если подготовка пособий ведется в MSWord, то эта система автоматически генерирует комплект файлов для странички.
Достаточно интересным является использование конвертера TeX2html. Имеется свободно распространяемая версия этой программы, которая разработана на языке PERL. Этот подход удобен для тьютора, так как ему не нужно работать с незнакомыми системами, предполагается, что большинство математиков знакомы с системой TeX. Таким образом, задачей тьютора будет разместить подготовленные параграфы курса и проставить ссылки. Все это возможно сделать с помощью пользовательского Web-интерфейса.
Проведенный анализ возможных путей разработки системы ДО позволил выделить особенности при разработке таких программных продуктов, предполагающих гибкость методического наполнения и контрольно-тестовых заданий. Именно такая технология в ДО при обучении математике достаточно мобильна и хорошо комбинируется с существующими техническими реалиями и экономическими требованиями.


