logo
Вуль В_А_ Электронные издания

9.5. Автоматизированные методы оценки уровня подготовки студента

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

В этом плане большой интерес представляет всероссийский проект «Телетестинг», который с 1997 г. развивается в нашей стране. Он предназначен для проведения олимпиад по различным предметам среди школьников и представляет собой частный случай дистанционного компьютерного массового тестирования. Система разработана сотрудниками центра «Гуманитарные технологии» при МГУ.

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

Программа «Телетест» представляет собой оболочку, слабо связанную с тематикой тестов, что позволяет сравнительно просто менять предметную тематику, делая систему тестирования достаточно универсальной и пригодной для итогового школьного тестирования, тестирования на вступительных экзаменах в ВУЗ, тестирования по различным предметам в процессе обучения в ВУЗе.

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

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

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

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

Этапы информационного взаимодействия описаны в той временной последовательности, в которой они показаны на рис. 9.4(часы и направление отсчета времени показаны на рисунке справа):

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

CGI-программа может быть написана на любом языке программирования, в составе которого имеются средства для выполнения обмена данными между приложениями. На платформе UNIX (популярный Web-сервер «Апачи» работает именно на этой платформе) для этой цели чаще всего используется язык Перл (Perl). Интерпретаторы этого языка без преобразования исходного текста программы вырабатывают исполняемый двоичный код. По этой причине CGI-программы часто называют также CGI-сценариями или CGI-скриптами (Script интерпретируемый текст).

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

Далее остановимся на кодировании и обработки данных, передаваемых с помощью формы. Существует два метода кодирования содержащейся внутри формы информации. Первый соответствует значению параметра METHOD='GET' и называется application/x-www-form-urlencoded. Второй метод multipart/form-data используется только в том случае, если к содержимому формы подсоединяется локальный файл.

Основная схема кодирования формы в обоих случаях состоит в том, что для каждого элемента, имеющего имя (NAME), создается пара NAME=VALUE, где VALUE - конкретное значение соответствующего элемента формы. Для кнопок и переключателей передается только значение выбранного элемента. Указанные выше пары соединяются в виде символьных последовательностей, причем в качестве разделителей пар используется символ . Сформированный таким образом набор символов пересылается как часть URL-запроса и носит название «строка запроса». Этой строке предшествует конструкция вида «cg-bin/<имя СС1-программы>?», в которой указано имя программы-обработчика данных, а знак вопроса отделяет эту часть от строки запроса.

Внутри символьной последовательности могут содержаться символы, недопустимые в составе URL-запроса. Известно, что ASCII-символы кодируются двумя шестнадцатиричными цифрами. Поэтому недопустимые в составе запроса символы заменяются триадами из знака % и двух цифр 16-тиричной системы счисления, соответствующих этому символу. Например, символ конца строки и перехода на начало новой (используется при передачи данных из поля TEXTAREA) записывается в виде: %ODOA, где OD соответствует тринадцати в десятичной системе счисления, а ОА - десяти.

Web-сервер, получив URL-запрос от клиента, присваивает переменной среды QUERY_STRING значение строки запроса и вызывает CGI-npoграмму, указанную в первой части запроса. Затем CGI-программа может обратиться к переменной среды QUERY_STRING, чтобы осуществить обработку закодированной в ней информации.

Что требуется от CGI-скрипта? И какова цель обработки информации? Дело в том, что на основании содержащейся в форме информации необходимо создать новый HTML-документ и передать его обратно клиенту.

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

В операционной системе UNIX, используемой на большинстве Web-серверов, широко применяются скрипты, состоящие из конструкций языка shell командной оболочки операционной системы UNIX. В языке shell имеются также встроенные средства характерные для языков программирования высокого уровня: операторы цикла, условного перехода, строковые переменные и пр. Видимо, наличие этого языка и широкое использование командных процедур в оболочке UNIX привели к появлению ряда интерпретирующих языков, пригодных для написания CGI-сценариев. И хотя скрипты можно писать на любом из них, а также на языке Си, наибольшее распространение получил язык Перл практический язык извлечений и отчетов (PERL-Practical Extraction Report Language). Он не только удовлетворяет трем перечисленным выше требованиям, но обладает тремя дополнительными полезными особенностями:

Кроме перечисленного следует отметить, что создание CGI-скриптов на языке Перл стало значительно проще, начиная с версии 5.004 стандартного дистрибутива Перл, в который был включен специальный модуль CGI.pm. Этот модуль, который был подготовлен Линкольном Штейном, автором известной книги «Как создать и поддерживать свой Web-сайт», берет на себя всю рутинную работу по созданию CGI-программы на языке Перл. Модуль, как и сам язык Перл, является платформно-независимым, в частности, он успешно работает и во всех версиях MS Windows.

Остальные рисунки по адрессу:

http://www.hi-edu.ru/e-books/xbook119/01/index.html?part-002.htm