Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.abitu.ru/en2002/closed/viewwork.html?work=6
Дата изменения: Fri May 5 15:25:18 2006
Дата индексирования: Tue Oct 2 02:10:57 2012
Кодировка: koi8-r

Поисковые слова: ибтпо

|Сайт дистанционных тестирований и опросов. Программа генератор тестов. |
| |
| |
| |
| |
|"Создание сайта дистанционных тестирований и программы генератора тестов" |
| |
| |
| |
| |
| |
| |
|Авторы: Рубинштейн Кирилл |
|Резиков Пётр ученики 11Б |
|класса многопрофильной |
|гимназии ?13 |
|Руководитель: Коровкин С.О. |
|Учитель ИВТ многопрофильной |
|гимназии ?13 |
|[pic] |
|1. Введение. |
|В настоящее время во многих странах появилась необходимость в повышении уровня |
|образованности населения. Наряду с этим стоит проблема, заключающаяся в недостатке |
|учебного материала и учебных пособий. Предлагались различные решения этой проблемы. |
|Например, в Англии предлагалось вести уроки с помощью "виртуальных учителей". Но, как|
|вы понимаете, этот способ является недоступным многим странам в финансовом отношении.|
|В связи с этим, мы решили принять участие в разрешении выше обозначенной проблемы. |
|Наш способ решения этой проблемы заключается в создании образовательного Интернет |
|сайта. Выбор на "всемирную паутину" упал в связи с её всё большим распространением в |
|мире. Итак, перед нами стоит цель, заключающаяся в создании сайта, с помощью которого|
|учителя могли бы обмениваться опытом, получать методические пособия и обмениваться |
|ими. Для реализации проблемы, связанной с повышением образованности населения, на |
|сайте необходимо создать раздел с учебными материалами и пособиями и систему проверки|
|накопленных знаний (проведение дистанционного тестирования). На сайте необходимо |
|создать систему, позволяющую учителям создавать свои тесты, для прохождения их |
|учениками. В связи с этим возникает необходимость в создании системы, позволяющей |
|ученикам просматривать результаты своих работ, а учителям просматривать подробные |
|отчёты работ учеников, генерируемые специальной программой. Для того чтобы учителя и |
|любые другие пользователи сайта имели возможность создавать свои тесты, необходимо |
|разработать язык текстовой разметки вопросов (тесты в HTML занимают слишком много |
|места). Далее в таблице представлены цели и способы их реализации на сайте: |
| |
|Поставленная цель. |
|Реализация на сайте. |
| |
|Помощь учителям в обмене опытом и методическими пособиями. |
|Создание на сайте образовательного форума. Создание на сайте раздела, посвящённого |
|методическим пособиям. |
| |
|Помощь в повышении уровня образования. |
|Создание на сайте раздела с учебными пособиями и материалами. |
| |
|Система проверки знаний. |
|Создание на сайте системы дистанционного тестирования, состоящей из нескольких |
|программ, написанных на языке Perl. |
| |
|Система, позволяющая ученикам смотреть результаты тестирования, а учителям - |
|подробный отчёт о выполненных работах. |
|Создание на сайте системы анализаторов тестов (система написана на языке Perl). |
| |
|Возможность самостоятельного создания тестов. |
|На сайте размещены дистрибутивы специальной программы Qmaker, написанной на языке |
|Visual Basic. (коды программы можно посмотреть в приложении 1). |
| |
|Разработка языка текстовой разметки вопросов. |
|Разработка языка QML. (документацию языка QML можно посмотреть в приложении 2). |
| |
| |
|Необходимо так же провести анализ существующих методов решения этой проблемы. Ниже |
|перечислены недостатки альтернативных методов решения поставленной проблемы: |
|а) Дороговизна: многие учебные заведения не могут себе позволить купить |
|профессиональные системы тестирования. |
|б) Работа только с ASCII текстом: во многих программах нет поддержки таблиц, |
|поясняющих изображения формул, что делает невозможным проведение тестов по физике и |
|химии. |
|в) Требовательность к операционной системе: возможность запускать программу только в |
|данной ОС. |
|г) Ограниченность: имеется лимит количества вопросов или вариантов ответов. |
|д) Плохая документированность: отсутствие или малое количество документации. |
|е) Трудности при заполнении: плохо реализованная или отсутствующая система создания |
|тестов. |
|ж) Неудобный интерфейс: неудобный интерфейс многих программ раздражает и отвлекает |
|тестируемого от написания теста |
|2. Выбор методов решения. |
|Для написания программы-генератора тестов мы решили использовать язык Visual Basic. |
|Это объясняется простотой и понятность синтаксиса этого языка. Несмотря на |
|ограниченность возможностей этого языка, для написания подобного рода программ Visual|
|Basic подходит как нельзя лучше. |
|Для программного обеспечения сайта мы выбрали язык Perl. Выбор обусловлен тем, что : |
|а) Этот язык широко используется в интернет программировании. |
|б) В языке Perl очень хорошо реализована работа с текстом. |
|в) Язык отлично документирован, а также имеется огромное количество учебной |
|литературы. |
|г) Поддерживается многими серверами бесплатного хостинга. |
|д) Интерпретатор этого языка портирован практически на все операционные системы. |
|е) Он бесплатен и распространяется на условии лицензии GNU GPL. |
|3. Выполненная работа. |
|3.1. Программа-генератор тестов Qmaker. |
|Создана программа, позволяющая самостоятельно создавать тесты и опросы. Программа |
|обладает приятным и удобным интерфейсом и является полноценным средством для создания|
|нормальных тестов и опросов. Ниже следует подробное описание программы: |
|[pic] |
|В этой форме программы пользователь создаёт заголовок вопроса. В первом поле |
|необходимо выбрать тип теста: психологический тест, обычный тест, дипломная работа |
|или социологический опрос (об их различии написано немного ниже). Следующие два поля |
|понятны: в них нужно написать своё имя и тему теста. В поле описания теста вы пишете |
|комментарии (можно писать в формате HTML). Необходимо обратить особое внимание на |
|поле «имя файла». Его нужно заполнять маленькими английскими буквами. В дальнейшем |
|будет создано два файла: file_name.qml и file_name.ans. В первом храниться текст |
|теста, а во втором - варианты правильных ответов. |
|[pic] |
|В этой форме заполняется заголовок вопроса. Вопросы могут быть как с дополнениями, |
|так и без них. Вопросы так же могут содержать несколько правильных ответов. Эти |
|условия можно указать в соответствующих полях. Особенностью наших тестов является то,|
|что к ним можно добавлять рисунок, указав к нему путь в поле «путь к рисунку». |
| |
|[pic] |
|В этой форме создаются варианты ответов и количество баллов за каждый вариант. |
|Количество вариантов неограниченно. |
|В последней форме создаются комментарии к результатам теста. Эти комментарии будут |
|отображаться программой, обеспечивающей просмотр результатов теста. |
|Теперь необходимо сказать о типах тестов. Психологический тест и обычный тест ничем |
|не отличаются друг от друга. Создаётся два файла: с тестом и с ответами. В дипломной |
|работе не могут присутствовать комментарии и правильный ответ в вопросе должен быть |
|только один. Соответственно форма, в которой заполняется заголовок вопроса, будет |
|выглядеть иначе (слои «дополнения» и «количество вариантов» будут невидимыми). При |
|создании социологических опросов создаётся только один файл, содержащий текст опроса.|
|В связи с этим формы оценки результатов не будет. |
| |
|3.2. Сайт удалённых тестирований и опросов. |
| |
|Техническая часть |
| |
|Программа дистанционного тестирования и опросов является неотъемлемой частью сайта. |
|Она написана на языке Perl. Все файлы программы можно разбить на несколько категорий.|
| |
| |
|1) Основные скрипты. |
|Это несколько файлов, реализующих все главные функции программы: выбор теста или |
|опроса, получение данных и анализ результатов теста. Все эти файлы имеют расширение |
|cgi |
| |
|2) Дополнительные функции |
|Функции, которые часто используются в основных программах, занесены в отдельные |
|файлы. Это позволяет сократить код программы. Они находятся в отдельной директории и |
|имеют расширение pl. |
| |
|3) Конфигурационные файлы |
|Несколько файлов, содержащих информацию о структуре директорий, пути к основным |
|файлам, названию сервера, использованной кодировки и.т.д. Они очень сильно облегчают |
|настройку программы на разных серверах, с разными операционными системами. Эти файлы |
|имеют расширение pl. |
| |
|4) Специальные файлы |
|Эти файлы служат для хранения динамически обновляемой информации, такой как пароли, |
|файлы блокирования IP адреса и другие. Эти файлы начинаются со знака ".". |
| |
|5) Файлы HTML шаблонов |
|Это html странички, созданные для динамической вставки информации. Они содержат в |
|html коде специальные теги, ограниченные двойными знаками "<" и ">" (например - |
|<>). Программа, читая эти шаблоны, заменяет эти теги на некоторые |
|внутренние переменные программы. Это позволяет легко изменять дизайн, а также |
|минимизировать включение html кода в текст программы. Файлы имеют расширение html или|
|htm. |
|Кроме непосредственно файлов программы, есть и файлы контекста, то есть сами тесты |
|(опросы) и поясняющая их информация. Вся информация о тестах размещена в двух |
|идентичных по структуре папках. Эта папка находится в каталоге скриптов сервера |
|(cgi-bin). В ней находится та информация, которая передаётся пользователю после |
|обработки программой. |
| |
|Файлы тестов (с расширением qml). |
|Файлы написанные на специальном языке разметки QML(см. Приложение "Документация по |
|QML и ANS"). В них хранится информация о тесте - комментарии, объяснения, варианты |
|ответов. |
| |
|б) Файлы ответов (с расширением ans) |
|Это файлы таблиц ответов ANS(см. Приложение "Документация по QML и ANS "). В них |
|содержаться все ответы на данный тест, а также предварительные результаты(т.е. фразы |
|выдаваемые программой в зависимости от успешности написания теста) |
| |
|в) Папка works |
|В этой папке содержаться работы тестируемых в определённом формате. В работах, кроме |
|самих ответов, регистрируется IP адрес, имя и время тестирования. Имя файла работ |
|состоит из 12 случайных цифр, что практически исключает совпадение. |
| |
|2) Вторая папка находится в каталоге сервера, содержащим html страницы (html) в ней |
|хранятся: |
| |
|а) Поясняющие изображения. |
|б) Методические материалы по данному тесту. |
| |
|Описание функциональности скриптов и функций. |
|(Исходные тексты программ см. в приложении 3.) |
| |
|1. Файл spisok.cgi. |
|Этот скрипт предназначен для вывода списка тестов. Если вызвать его без параметров, |
|то он выведет страницу приветствия, а также список категорий тестов (опросов), |
|например: информатика, физика, опросы. После выбора категории (или ввода вручную в |
|строке URL) выводится список тестов в данной категории в виде таблицы. В ней указана |
|информация о тесте: название, имя автора, категория теста. Категория может принимать |
|значения: |
| |
|а) Обычный - полуоткрытый вид теста, может содержать вопросы, как с одним правильным |
|вариантом ответа, так и с несколькими. К этим тестам возможны дополнения. |
| |
|б) С выдачей диплома - тест включает вопросы только с одним правильным вариантом |
|ответа и не может включать дополнения к ответам. Но после написания теста у |
|тестируемого есть возможность получить диплом. |
| |
|в) Психологический - тест тоже не включает дополнений, но нельзя просмотреть и |
|подробный отчёт. Этот вид теста предназначен только для самого тестируемого. |
| |
|г) Опрос - этот вид предназначен для проведения социологических опросов. После ответа|
|на вопрос, можно посмотреть результаты опроса. |
| |
|При щелчке на название теста, вы перейдете непосредственно к тестированию. |
| |
|2. Файл read.cgi. |
|Этот скрипт предназначен для чтения теста. Он конвертирует язык QML в HTML по |
|специальным правилам. Если запустить скрипт без параметров или с неправильными |
|параметрами, он выдаст ошибку. Скрипт открывает файл QML и последовательно заносит |
|его в специальный хэш (вид массива). После этого обрабатывает хэш и выводит код. На |
|странице выводится: основная информация о тесте, описание теста, сами вопросы с |
|вариантами ответа, ссылка на методическую информацию о тесте и кнопку отправки. |
| |
|3. Файл write.cgi. |
|Этот файл принимает данные от скрипта read.cgi Проверяется правильность и записывает |
|файл работ. Если в папке с тестом существует файл .ip_lock, то программа проверяет IP|
|адрес, записанный в этом файле, и если он совпадает с IP адресом данной машины, и со |
|времени создания файла прошло меньше 7,5 минут, то программа не записывает данные, а |
|выводит соответствующее сообщение. Эта функция предусмотрена для того, чтобы |
|затруднить голосование по какому-нибудь опросу многократно. В зависимости от типа |
|теста программа выводит разный текст. |
|а) Если это тест, предлагает просмотреть ваши результаты. |
|б) Если опрос, предлагает ознакомиться с общими результатами опроса. |
|4. Файл rezult.cgi. |
|Этот скрипт выдаёт результаты тестов или опросов. Если запустить его без параметров, |
|он будет действовать так же, как скрипт spisok.cgi. То есть сначала выведет список |
|категорий, затем список теста в данной категории. После выбора теста: |
| |
|а) Если это обычный тест, выдаёт список протестировавшихся, выводит имя тестируемого,|
|IP адрес его компьютера, время, когда был отослан тест. Щёлкнув на имени |
|тестируемого, вы увидите страницу, которую увидел тестируемый после отсылки теста. |
|Здесь указано количество баллов, которые можно получить, сколько баллов набрал этот |
|человек, сколько отрицательных баллов он набрал (отрицательные баллы начисляются, |
|если в вопросе с несколькими правильными вариантами были введены неправильные |
|ответы), а также текст предварительного результата. В этом окне тестируемый может |
|получить диплом, если это предусмотрено тестом. Просмотрев предварительные результаты|
|тест, можно просмотреть полный отчёт о работе. Для этого нужно ввести пароль. Если |
|пароль введён правильно, то выведется страничка с подробным отчетом. На ней можно |
|увидеть, на какие вопросы и как ответил этот человек, а также просмотреть его |
|комментарии. |
| |
|б) Если это был опрос, то программа выдаёт полный отчёт по данному опросу: количество|
|проголосовавших, количество голосов и процент на каждый вариант ответа, а также |
|комментарии к этому опросу, отсортированные в порядке поступления. |
| |
|4. Функционирование сайта. |
|В настоящее время сайт уже размещён во всемирной сети Интернет и нормально |
|функционирует. Любой пользователь Интернета, набрав адрес www.csopros.hoha.ru попадёт|
|на наш сайт и сможет принять участие в тесте и, удачно пройдя его, получить диплом. У|
|посетителей нашего сайта так же есть возможность принимать участие в социологических |
|опросах. Ниже мы решили привести примеры отзывов посетителей нашего сайта, написанные|
|в гостевой книге: |
|12.03.2002. |
|Крутой сайт. Очень полезно для таких как я. |
|Skiff |
|skiff@mail.ru |
| |
|14.03.2002. |
|Круто!!! Халявные дипломы!!! |
|Madvis |
|madvis@hotbox.ru |
| |
|5. Вывод. |
|Итак, нами создан сайт, который позволяет проводить дистанционные тестирования. На |
|сайте есть форум, где учителя могут обмениваться опытом, задавая друг другу |
|интересующие их вопросы. У посетителей сайта есть возможность создать самостоятельно |
|свой тест и поместить его на сайте. Создана специальная программа, облегчающая работу|
|над созданием тестов. |
|Но на этом работа не заканчивается. В перспективе, на нашем сайте будет продолжена |
|работа над наполнением методическими пособиями и учебными материалами, |
|непосредственное участие в которой будут принимать пользователи сайта. По нашим |
|расчётам, в ближайшее время сайт превратится в большой образовательный портал, в |
|которых сейчас нуждаются многие учителя. |
|[pic] |
|Приложение 1. |
|Исходный текст программы Qmaker. |
| |
| |
|Form 1. |
|Private Sub escape1_Click() |
|tipcombo.Text = "(выберите тип)" |
|tematext.Text = "" |
|avtortext.Text = "" |
|opistext.Text = "" |
|fnametext.Text = "" |
|End Sub |
| |
|Private Sub exit_Click() |
|End |
|End Sub |
| |
|Private Sub Form_Load() |
|tipcombo.AddItem "Психологический" |
|tipcombo.AddItem "Дипломный" |
|tipcombo.AddItem "Обычный тест" |
|tipcombo.AddItem "Опрос" |
|End Sub |
| |
|Private Sub next1_Click() |
|'''''проверка на заполненность форм'''''' |
|If (tipcombo.Text = "(выберите тип)" Or tematext.Text = "" Or avtortext.Text = "" Or |
|opistext.Text = "" Or fnametext.Text = "") Then |
|MsgBox ("Заполните все поля") |
|End If |
|''''если всё нормально то поехали дальше''''' |
|If (tipcombo.Text <> "(выберите тип)" And tematext.Text <> "" And avtortext.Text <> |
|"" And opistext.Text <> "" And fnametext.Text <> "") Then |
|fnameqml = fnametext.Text + ".qml" |
|fnameans = fnametext.Text + ".ans" |
|''''''Определяем тип теста или опроса''''' |
|If tipcombo.Text = "Психологический" Then tip = "psy" |
|If tipcombo.Text = "Опрос" Then tip = "opros" |
|If tipcombo.Text = "Обычный тест" Then tip = "usual" |
|If tipcombo.Text = "Дипломный" Then tip = "diplom" |
|''''''''''''''''''''''Создаём два файла с тестом и с |
|ответами''''''''''''''''''''''''''''' |
|Open App.Path + "\tests\" + fnameqml For Output As #1 |
|'''''''если этот тест не опрос, то создадим файл ответов'''' |
|If tip <> "opros" Then Open App.Path + "\tests\" + fnameans For Output As #2 |
|''''''''записываем в файл теста заголовок'''''''''' |
|Print #1, "" |
|Print #1, "" |
|Print #1, "#" + opistext.Text |
|Print #1, "
" |
|''''''присваиваем переменной номера вопроса значение 0''''''' |
|nomervoprosa = 0 |
|'''''''''очистка полей формы'''''''' |
|tipcombo.Text = "(выберите тип)" |
|tematext.Text = "" |
|avtortext.Text = "" |
|opistext.Text = "" |
|fnametext.Text = "" |
|'''''''''''''закрываем эту форму и открываем другую''''''''''' |
|Unload zagolovok |
|vopros.Show |
|'''''''''''''''''''''''''''''''''''''' |
|End If