Электронные издания
Шрифт:
В этом плане большой интерес представляет всероссийский проект "Телетестинг", который с 1997 года развивается в нашей стране. Он предназначен для проведения олимпиад по различным предметам среди школьников и представляет собой частный случай дистанционного компьютерного массового тестирования. Система разработана сотрудниками центра "Гуманитарные технологии" при МГУ.
В системе можно выделить 4 основных функциональных блока, а именно: подготовительный, базы заданий, телекоммуникационный и анализа и обработки, что иллюстрируется рис. 10.4. Подготовительный блок содержит специальный редактор для маркировки и шифровки заданий и защиту от несанкционированного доступа. Все задания проверяются экспертами и только при совпадении результатов у всех экспертов, эти задания включаются в базу заданий. Кстати, в графических тестовых заданиях использованы элементы псевдографики, что позволяет сократить объем файлов и ускорить их передачу по сети.
Программа "Телетест" представляет собой оболочку, слабо связанную с тематикой тестов, что позволяет сравнительно просто менять предметную тематику, делая систему тестирования достаточно универсальной и пригодной для итогового школьного тестирования, тестирования на вступительных экзаменах в вуз, тестирования по различным предметам в процессе обучения в вузе.
Достоинством этой программы является адаптивный характер тестирования, позволяющий подстраивать уровень сложности заданий к степени подготовленности пользователя. Использование
В то же время следует отметить ограниченные возможности тех систем тестирования, для которых характерна оценка знаний путем выбора ответа из некоторого множества вариантов. В дальнейшем следует, видимо, стремиться к разработке систем, обеспечивающих получение содержательного ответа на вопросы и последующего автоматизированного семантического анализа этих ответов (см. также главу 8). Здесь определенные возможности открывает технология составления тестов и обработки результатов тестирования на основе HTML-форм и CGI-скриптов. Эта задача достаточно сложна и объемна, поэтому мы ограничимся ее общей постановкой и описанием, уделив основное внимание технологии составления HTML-форм и принципам их автоматизированной обработки.
Полагаю, что абсолютному большинству читателей известно, что основа WWW – это так называемые Web-узлы, т. е. компьютеры, на которых выполняется специальная программа Web-сервер, обеспечивающая, в частности, поиск и выдачу документов по запросу клиентов узла. Документы на Web-узле обычно хранятся в гипертекстовом формате HTML. Клиентами Web-сервера являются программы-браузеры, запущенные на удаленном компьютере, имеющем доступ к сети. Браузер принимает документ, посланный Web-узлом, и отображает его на экране монитора в своем окне.
Аббревиатура CGI (Common Gateway Interface) обозначает ту часть Webсервера, которая может взаимодействовать с другими программами, выполняющимися на этом же узле. Именно в этом смысле она является шлюзом (Gateway) для передачи клиентских данных программам их обработки. Схема работы CGI представлена на рис. 10.5. Она состоит из определенного числа этапов, на каждом из которых происходит взаимодействие пары соседей из 3 представленных на рис. 10.5, а именно: браузера на клиентском компьютере, Web-сервера и программных приложений, установленных на Web-узле.Этапы информационного взаимодействия описаны в той временной последовательности, в которой они показаны на рис. 10.5 (часы и направление отсчета времени показаны на рисунке справа):
1. Пользователь с помощью браузера формирует запрос на получение документа и через сеть Интернет посылает его на Web-сервер. Частными случаями таких документов могут быть бланк заказа книги или оформления подписки на газету или бланк, заполняемый абитуриентом при поступлении в Университет в другом городе (в США уже есть такие прецеденты), причем все такие документы объединяются общим понятием форма (см. также разд. 2.8).
2. Сервер извлекает документ (форму) из своей базы данных и через сеть Интернет посылает его пользователю (клиенту).
3. Клиент с помощью браузера заносит в документ необходимые данные и вновь направляет его через сеть Web-серверу.
4. Сервер с помощью CGI-программы анализирует полученный документ и (при необходимости) направляет его для обработки в соответствующее приложение.
5. Приложение, используя CGI-переменные, обрабатывает направленный в него документ и возвращает серверу выходную информацию.
6. Сервер передает выходную информацию клиенту.
7. Клиент (Web-браузер) получает выходную информацию, которая отображается у него и может быть оценена и использована.
Таким образом, пользователь (клиент) имеет возможность не только получать информацию (документы) от сервера, но и передавать свои данные на сервер, где с помощью соответствующего приложения, установленного на Web-узле, эти данные будут обработаны, а клиент получит результаты обработки данных. Такая система взаимодействия обеспечивает принципиально более высокий уровень интерактивности в системе клиент-сервер, и реализацию дистанционной обработки данных клиента.
CGI-программа может быть написана на любом языке программирования, в составе которого имеются средства для выполнения обмена данными между приложениями. На платформе UNIX (популярный Web-сервер "Апачи" работает именно на этой платформе) для этой цели чаще всего используется язык Perl (Practical Extraction & Report Language). Интерпретаторы этого языка без преобразования исходного текста программы вырабатывают исполняемый двоичный код. По этой причине CGI-программы часто называют также CGI-сценариями или CGI-скриптами (Script – интерпретируемый текст).
CGI-программа создает динамический (виртуальный) гипертекстовый документ или же формирует ссылку на уже имеющийся документ и дополняет его передачей результатов. Чаще всего для передачи данных от удаленного пользователя Web-серверу используются HTML-формы. Именно с их помощью организуется диалог между браузером пользователя и Web-сервером удаленного узла сети. Такой диалог позволяет осуществить важнейшие операции в сети Интернет.
Далее остановимся на кодировании и обработке данных, передаваемых с помощью формы. Существует 2 метода кодирования содержащейся внутри формы информации. Первый соответствует значению параметра METHOD="GET" и называется application/x-www-form-urlencoded. Второй метод multipart/form-data используется только в том случае, если к содержимому формы подсоединяется локальный файл.
Основная схема кодирования формы в обоих случаях состоит в том, что для каждого элемента, имеющего имя (NAME), создается пара NAME=VALUE, где VALUE – конкретное значение соответствующего элемента формы. Для кнопок и переключателей передается только значение выбранного элемента. Указанные выше пары соединяются в виде символьных последовательностей, причем в качестве разделителей пар используется символ &. Сформированный таким образом набор символов пересылается как часть URLзапроса и носит название строка запроса. Этой строке предшествует конструкция вида "cgi-bin/<имя CGI-программы>?", в которой указано имя программы-обработчика данных, а знак вопроса отделяет эту часть от строки запроса.
Внутри символьной последовательности могут содержаться символы, недопустимые в составе URL-запроса. Известно, что ASCII-символы кодируются двумя шестнадцатиричными цифрами. Поэтому недопустимые в составе запроса символы заменяются триадами из знака % и 2-х цифр шестнадцатиричной системы счисления, соответствующих этому символу. Например, символ конца строки и перехода на начало новой (используется при передачи данных из поля TEXTAREA) записывается в виде: %0D0A, где 0D соответствует 13 в десятичной системе счисления, а 0A – десяти.
Web-сервер, получив URL-запрос от клиента, присваивает переменной среды QUERY_STRING значение строки запроса и вызывает CGI-программу, указанную в первой части запроса. Затем CGI-программа может обратиться к переменной cреды QUERY_STRING, чтобы осуществить обработку закодированной
в ней информации.Что требуется от CGI-скрипта? И какова цель обработки информации? Дело в том, что на основании содержащейся в форме информации необходимо создать новый HTML-документ и передать его обратно клиенту.
Какой язык следует использовать в CGI-программе? Сам CGI-интерфейс не накладывает каких-либо ограничений на выбор языка программирования. Поэтому его выбор должен быть основан на тех функциях, которые с его помощью должны быть реализованы. Перечислим эти функции:
1. Удобный интерфейс для взаимодействия с другими программами, например, с СУБД или графическим редактором.
2. Наличие средств доступа к переменным среды, так как именно с их помощью данные формы поступают на вход CGI-скрипта.
3. Наличие средств обработки текста, которые требуются для предварительной обработки (декодирования) данных, поступающих на вход программы.
В операционной системе UNIX, используемой на большинстве Webсерверов, широко применяются скрипты, состоящие из конструкций языка shell – командной оболочки операционной системы UNIX. В языке shell имеются также встроенные средства характерные для языков программирования высокого уровня: операторы цикла, условного перехода, строковые переменные и пр. Видимо, наличие этого языка и широкое использование командных процедур в оболочке UNIX привели к появлению ряда интерпретирующих языков, пригодных для написания CGI-сценариев. И хотя скрипты можно писать на любом из них, а также на языке Си, наибольшее распространение получил язык Perl – практический язык извлечений и отчетов (PERL – Practical Extraction & Report Language). Он не только удовлетворяет трем перечисленным выше требованиям, но обладает еще тремя дополнительными полезными особенностями:
1. Возможностью бесплатного получения языка.
2. Универсальностью – его версии существуют практически для всех известных платформ, в том числе для DOS и Windows.
3. Наличием большого числа готовых программных модулей, распространяемых свободно в сети Интернет.
Кроме перечисленного следует отметить, что создание CGI-скриптов на языке Perl стало значительно проще, начиная с версии 5.004 стандартного дистрибутива Perl, в который был включен специальный модуль CGI.pm [37]. Этот модуль, который был подготовлен Линкольном Штейном, автором известной книги "Как создать и поддерживать свой Web-сайт", берет на себя всю рутинную работу по созданию CGI-программы на языке Perl. Модуль, как и сам язык Perl, является платформно-независимым, в частности, он успешно работает и во всех версиях MS Windows.10.6. Библиотека электронных изданий вузов
К 2002 году накоплен достаточный опыт и достигнут определенный уровень знаний для того, чтобы реально поставить проблему создания сетевой электронной библиотеки как для отдельного высшего учебного заведения, так и для системы высшего образования крупного города и региона. Принципиально ничего не мешает использованию такой библиотеки школьниками старших классах общеобразовательной школы и учащимся средних специальных учебных заведений. Ничто также не мешает расширить территориальные границы действия такой библиотеки до масштабов всей страны.
Если обратиться к зарубежному опыту, то следует упомянуть специализированную общеевропейскую сетевую электронную библиотеку, в которой хранятся диссертации по литературе, истории, юриспруденции и другим гуманитарным (т. е. не техническим) наукам. Библиотека за сравнительно небольшую (по зарубежным меркам) плату (от 100 до 200$ в год) предоставляет своим читателям абонемент на право сетевого доступа к изданиям. Она весьма популярна среди выпускников Европейских Университетов, стажеров и студентов старших курсов гуманитарных специальностей. Нечто подобное, но более универсальное по тематике и ориентированное на всех студентов, а может быть, и на старшеклассников, собирающихся продолжить образование и интересующихся современными проблемами науки и техники, может быть создано и в нашей стране. Какие же существуют объективные предпосылки для постановки такой задачи?
В последние годы уровень компьютеризации большинства как технических, так и гуманитарных высших учебных заведений нашего города стал достаточно высоким. Все вузы оснастились современными компьютерами класса Pentium II Celeron или даже Pentium III Coppermine, в которых процессоры работают на частотах свыше 500 МГц. Размер оперативной памяти стал не менее 64 Мбайт (чаще 128 Мбайт), а жесткого магнитного диска – превысил 10 Гбайт. Учебные классы с такими компьютерами обеспечивают использование современных программных средств, работают с мультимедийными приложениями практически любой степени сложности.
Это позволяет, в определенной степени, унифицировать учебные пособия, в частности, по дисциплинам, связанным с информационными технологиями. Вместо обмена печатными тиражами изданий учебников появляется возможность сетевого обмена электронными учебными (а может быть, и не только учебными) изданиями. Практически все вузы, насколько известно автору, подключены к глобальной сети Интернет. В каждом образовательном учреждении высшей школы функционируют локальные сети. Таким образом, задача состоит в том, чтобы обеспечить принципиальную возможность удаленного доступа студентов к электронным библиотекам любого вуза, а не только "своего".
Гораздо больший интерес представляет организация на базе электронных библиотек отдельных вузов единой распределенной базы электронных изданий с удаленным доступом. Помимо очевидных преимуществ такой интегрированной структуры она явилась бы примером и прообразом интегрированной образовательной электронной библиотеки в рамках всей нашей страны. Создание единой сетевой учебной Российской библиотеки не только обеспечило бы повышение качества обучения в каждом отдельном учебном заведении (даже только за счет того, что преподавателям и студентам была бы предоставлена возможность знакомиться с пособиями других вузов, в том числе – самых престижных и передовых в своей области знаний), но и позволило бы приблизить реальный уровень образования в удаленных от центра учебных заведениях к уровню передовых по каждому из направлений науки и техники. Каждый вуз был бы реально знаком с преподаванием во всех других вузах страны и мог бы применить в своей практике все лучшие начинания.
Такая библиотека обеспечила бы реальную возможность унификации образования в высшей школе, также и в старших классах средней школы, создала бы информационную основу для введения единой системы тестирования выпускников средних школ. В конечном счете, это привело бы к заметному повышению не только уровня компьютеризации образования, но и качества среднего и высшего образования в целом. Возможно также, что на основе такой интегрированной электронной библиотеки удалось бы преодолеть некий барьер между системами общего среднего и специального образования, который создает выпускникам школ дополнительные трудности при поступлении в Университеты, Институты и Академии.
С чего же, по мнению автора, следует начать разработку такой системы? Видимо, с ее первого звена – электронной библиотеки отдельного вуза. Читальный зал такой библиотеки может представлять собой отдельный класс, компьютерные посадочные места в котором связаны с помощью локальной сети (рис. 10.6). К такой сети можно, строго говоря, подключить все или часть компьютерных классов, чтобы электронные пособия можно было использовать в процессе выполнения лабораторных работ, проведении лекционных и семинарских занятий. Уже сейчас в своей практике преподаватели СЗИП используют подобный порядок выполнения лабораторных работ. На файловом сервере устанавливается файл с подробным описанием лабораторной работы, которым могут пользоваться студенты, работающие за любым из 20 компьютеров, подключенных к этой локальной сети.