- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
LXF113-114:iTest
Материал из Linuxformat.
- Контрольная на компьютере Свободная программа для проверки знаний учащихся и студентов
Содержание |
iTest: покажи, что знаешь!
- К тестированию как к средству проверки знаний можно относиться по-разному, но если уж вы твердо решили пойти этим путем, так почему бы не сделать все правильно? У Никиты Шультайса есть на примете подходящее решение.
Одной из важнейших задач, стоящих перед учителями, является контроль знаний учащихся. Разновидностью такого контроля является тестирование, которое может проводиться как минимум двумя способами: с раздачей отпечатанных листов с вопросами и вариантами ответов или автоматизированно на компьютере. Второй вариант предпочтительнее: программа сама обработает результаты и выставит оценки в соответствии с заранее заданными критериями, что экономит бумагу и позволяет легко контролировать весь процесс тестирования. Вам же остается только составить вопросник и пронаблюдать, чтобы никто не списал.
Сегодня мы поговорим о системе тестирования iTest. Да, я не оговорился, назвав iTest «системой», потому что установив ее, мы получаем не отдельную программу, а клиент-серверное приложение, которое работает как в Windows, так и в Linux. Это позволит вам безболезненно перейти на открытое ПО в процессе обучения. К тому же, iTest распространяется под лицензией GPLv2, а значит, ее можно использовать в школах (и не только), не боясь за свою свободу и карьеру.
Развернем систему
iTest использует библиотеки Qt 4.4, поэтому вам следует заранее позаботиться об их наличии. Например, в Ubuntu можно использовать менеджер пакетов – Synaptic или Adept Manager. Собрать iTest можно двумя путями: автоматически и вручную.
В первом случае, скачайте и установите оболочку Squirrel Shell (http://squirrelsh.sf.net) – это весьма занятный командный интерпретатор (синтаксис в стиле C++, кросс-платформенность и т.п.), но сейчас мы на нем останавливаться не будем. Затем перейдите в каталог с распакованным исходным кодом iTest и выполните скрипт build.nut. Было бы действительно удобно, если бы Squirel Shell присутствовал в каждом дистрибутиве Linux, но пока что этого не наблюдается.
Второй способ – ручная установка – реализуется десятью простыми командами (разумеется, их также следует давать из каталога, в который вы распаковали исходные тексты):
cd iTestServer qmake -config release lrelease iTestServer.pro cd ../iTestClient qmake -config release lrelease iTestClient.pro cd .. qmake -config release make
После удачной компиляции в основной директории дистрибутива будет создан подкаталог bin, содержащий два исполняемых файла: iTestClient и iTestServer. Первый служит для прохождения теста, а второй – для его создания и обслуживания.
Если же вы все еще пользуетесь Windows, просто скачайте установочный файл. Не помешает также поискать iTest и в репозиториях вашего дистрибутива Linux, но в моем случае его там не оказалось.
Создадим тест
Запустите программу iTestServer. Вам сразу будет предложено три варианта:
- Создать новый тест.
- Выбрать тест из недавно созданных.
- Открыть тест с диска.
Пройдем по первому пути. Нажмите кнопку Новый, введите имя базы данных (например, GNULinux) и сохраните тест в файловой системе. Название было выбрано неспроста – создаваемый нами тест будет проверять знания в области нашей любимой ОС.
После создания теста мы попадаем в раздел Вопросы, о чем свидетельствует вдавленная кнопка на панели управления вверху (рис. 1):
На этой панели также находятся кнопки Комментарии, Категории, Режим сервера, Сохраненные сессии и Классы. Слева от них расположены виджеты общего назначения, позволяющие создавать новые тесты и открывать и сохранять существующие; справа – кнопки управления вопросами, а еще правее – кнопки вывода на печать.
Пара настроек
Перед составлением теста необходимо задать категории вопросов – значит, самое время перейти в одноименный раздел, кликнув на кнопке с красным флажком. Категории позволяют группировать вопросы по конкретным темам в рамках одного теста.
Чтобы добавить категорию, нужно поставить галочку в столбце Установлен напротив имени, а затем ввести ее название. Добавим три категории:
- История Linux
- Основные характеристики
- Основные команды
Как вы заметили, каждая категория выделяется своим цветом, чтобы при просмотре списка вопросов можно было визуально различать их принадлежность. В дальнейшем вы сможете исключить категорию из тестирования, просто сняв галочку в столбце Установлен. Не забудьте нажать на кнопку Применить, расположенную внизу раздела, иначе ваши категории не будут доступны.
Перейдем в раздел Комментарии. Он представлен простеньким редактором, где вы можете вставлять свои заметки относительно данного теста. Здесь можно обозначить цели и задачи тестирования, какие категории для какого возраста и уровня знаний подходят, и другие данные на ваше усмотрение. Комментарии привязаны к базе данных, поэтому у каждого теста они свои.
Первый раз – в первый класс
Начиная с версии 1.4.0, в программе появилась возможность управления классами. Давайте перейдем в соответствующий раздел, где доступна сложная на первый взгляд область управления классами, состоящая из пяти частей: список классов, список сессий, выбранный класс, список студентов и выбранный студент. Сейчас мы попробуем разобраться во всем этом многообразии. Начнем со списка классов, где доступна кнопка Добавить, на которую мы и кликнем, а потом введем номер и букву класса, например, 11А. Как вы могли заметить, перед номером и буквой указаны годы, в которые данный класс проходил обучение. Что самое интересное, для нашего 11 «А» там указано 2008–2011, что не соответствует реалиям России (три года в одном классе могут учиться только отпетые двоечники), поэтому кликните дважды по названию класса, чтобы изменить его. Теперь стала доступна область Выбранный класс, а также кнопки Добавить в областях Список студентов и Список сессий. Сначала изменим годы учебы класса, подтвердив наше решение нажатием на кнопку с зеленой галочкой справа в области Выбранный класс. Затем добавим студентов (в нашем случае, так как мы задали номер и букву класса, мы будем добавлять учеников).
Когда все ученики будут внесены в базу, можно переходить к составлению списка вопросов. Перейдите в соответствующий раздел. Как упоминалось выше, справа от основной панели находятся кнопки управления вопросами, и одна из них – Добавить – теперь стала доступной. Кликнем на нее (вы также можете нажать на кнопку Вопрос в главном меню и выбрать в выпадающем списке пункт Добавить). Как только вы нажмете на кнопку, вам будет предложено ввести имя вопроса. Оно предназначено для того, чтобы было легче ориентироваться во всем многообразии создаваемых заданий, ведь в одной базе данных их могут быть сотни: они могут относится к разным категориями, к разным учебниками и к разным классам. Например, можно предложить такое имя: «Раздел 3. Вопрос 12». Конечно, еще проще будет создавать свою базу вопросов на каждую отдельную программу обучения, а не запихивать все в одну. После того, как вы введете имя вопроса, он появится в форме «Список вопросов» слева. Выберите его, сделав тем самым доступными формы для уточнения вопроса (рис. 2).
Вы можете выбрать категорию, сложность (легко, средне, сложно), сформулировать текст и добавить изображение в формате SVG. Последнее, по-моему, самое большое неудобство, так как со вставкой растровых картинок приходится повозиться. Их следует открыть в Inkscape, а затем, используя меню Эффекты > Растровые изображения > Встроить все растровые файлы, сохранить в формате SVG и только потом вставить в iTest.
Осталось внести финальное, но самое важное уточнение: добавить список вариантов ответов (максимум 9 штук). Вы можете добавлять вопросы с единственным выбором ответа (то есть те, где ученик может указать только один ответ, хотя правильных может быть несколько), а можете добавлять вопросы с множественным выбором ответов. Под списком ответов есть строка Объяснение, в которой вы можете пояснить, почему именно этот вариант ответа является верным. Такой прием очень полезен: даже если ученик ответил неправильно, после окончания теста он может посмотреть, где и в чем он ошибся. Таким образом можно не только проверять знания, но и исправлять обнаруженные недочеты в образовании.
Если вы добавили много вопросов, то в форме Список вопросов будет доступно несколько фильтров (по сложности и по категориям), а также строка поиска.
Параметры тестирования
Теперь, когда вы создали необходимые вопросы и определили для них ответы, самое время запустить тест. Перейдите в раздел Режим сервера. Здесь вам предлагается сконфигурировать основные параметры тестирования.
Вы можете указать, какие категории вопросов будут участвовать в тесте, или еще более точно – какие вопросы будут доступны. Для этого нужно поставить галочку напротив слова Дополнительно, чтобы сделать активными необходимые формы.
Также доступна гибкая «система оценки» результатов. Вы можете решить, будут ли учитываться «частично правильные ответы». Как мы уже говорили, правильных ответов на конкретный вопрос может быть несколько, и зачастую, если вы пропустили хотя бы один из вариантов, весь ваш ответ полагается неверным. Такие вопросы считаются самыми сложными, но поставив галочку напротив пункта «Учитывать частично правильные ответы» можно облегчить жизнь студентам, позволив им найти хотя бы один правильный ответ, а не весь набор (конечно, лучше не делать таких поблажек: ведь если на вопрос есть хотя бы один ответ, то, отметив все варианты, студент гарантированно попадет на правильный, а значит, и вопрос будет засчитан).
Вы также можете определить баллы за правильный, неправильный и пропущенный ответы для каждого уровня сложности и задать оценку, достаточную для прохождения теста. И, наконец, нужно придумать название теста, указать время, отведенное на его прохождение или на отдельные вопросы, а также определить порт, который будет «прослушивать» сервер.
Теперь можно смело запускать сервер и начинать тестирование. После старта вам станет доступным окно состояния, где можно отследить подключившихся клиентов, включая их ответы. Чтобы остановить сервер, используйте Сервер > Остановить сервер.
Подключение клиента
Для подключения клиента необходимо запустить файл iTestClient и правильно настроить его, указав имя и порт сервера, а затем нажать на кнопку Подключиться. Если же данный компьютер не имеет доступа к сети, то после запуска сервера вы можете выполнить команду Сервер > Экспортировать тест с тем, чтобы создать локальную копию данных теста. После этого клиент может выбрать пункт Использовать файл базы данных iTest и указать локальный файл. Для уменьшения вероятности взлома файла с тестом (а сведения в нем представлены в открытом незашифрованном виде) разработчики рекомендуют хранить файл на внешнем носителе (например, «флэшке») и самостоятельно подгружать его в тестирующую программу, после чего изымать «флэшку», так как она больше не требуется. Такой подход позволит хранить тест на компьютере клиента только в оперативной памяти, что несколько усложняет получение ответов. Далее тестируемый нажимает кнопку Готово, вводит свои ФИО и отвечает на вопросы (рис. 3).
После прохождения студентами теста вам нужно будет собрать полученные ответы и добавить их к сессии. Для этого нажмите Сервер > Добавить off-line клиента или Сервер > Добавить результаты off-line клиента, чтобы выбрать директорию, в которой сохранены все файлы с результатами.
Время собирать камни
Итак, ученики прошли тестирование; самое время провести анализ. Первое, что следует сделать – это просмотреть статистику ответов. Перейдите на вкладку Вопросы и выберите любой из них: внизу, под вариантами ответов, будет отображена статистика. Взгляните на нее: возможно, вы неверно оценили сложность вопроса, и ее следует скорректировать.
Затем можете перейти в Классы и добавить сессию, кликнув на кнопке Добавить в поле Список сессий. Когда вы выберете сессию, вам будет предложено сопоставить учеников в классе с зарегистрированными пользователями. После этого станет возможным просматривать все тесты, пройденные конкретным учеником.
В дополнение ко всему, вы можете распечатывать вопросы, гибко настроив представление необходимых полей. Не правда ли, удобно? LXF