Автоматизированная система тестирования студентов

2 Структура выдачи вопросов и ответов системы
2.1 Информационное обеспечение системы
Каждый преподаватель должен разработать набор тестов по своей
дисциплине. Подготовить соответствующие иллюстрации, если они
требуются. Все вопросы должны быть разбиты на несколько весовых
категории: простые, средние и сложные. Это необходимо для того, чтобы
поддерживалась иерархическая структура теста.
На этапе подготовки теста определяется какое количество вопросов
будет задано студенту по самой верхней ветке теста. Количество вопросов для
остальных ветвей будет определяться исходя из количества вопросов первой
ветви:
m k = m k-1 2
здесь m k - количество вопросов ветви m k-1 - количество вопросов на
предыдущей ветви
Разработка теста сводится к выполнению следующих этапов:
1) определение целей тестирования;
2) подбор и составление заданий;
3) эксперимент и сбор статистической информации;
4) составление матрицы экспериментальных данных;
5) упорядочение матрицы;
6) чистка матрицы;
7) оценка надежности теста и при необходимости ее увеличение;
8) оценка валидности теста и при необходимости ее увеличение;
9) оптимизация порядка тестирования;
10) оптимизация длины теста;
11) экспериментальная проверка теста;
12) введение теста в автоматизированную диалоговую среду;
13) проверка теста в автоматическом режиме.
При определении целей тестирования необходимо оговорить вид
контроля. Следует помнить о функциях контроля, таких как диагностическая,
управляющая, обучающая, развивающая, воспитывающая. Очевидно, при
тестировании из всех перечисленных функций наиболее ярко проявляются
первые две: диагностическая и управляющая. Одна позволяет обнаруживать
пробелы в знаниях учащихся, другая- определять пути их устранения.
Наконец, нельзя сформулировать достаточно четко цели тестирования,
не учитывая общедидактических требований к контролю знаний. К
последним, в частности, относятся: систематичность, углубленность,
всесторонность, объективность, индивидуализация, гласность,
дифференцированность оценок.
Примерами целей тестирования являются:
? проверка умения давать определения;
? проверка знания формул, законов, принципов, теорем;
? проверка умения решать задачи;
? проверка умения находить сходства и различия;
? проверка умения представлять материал на графиках и схемах;
? проверка умения делать логические умозаключения;
? проверка умения ориентироваться в частных случаях;
? проверка знания правил;
? определение словарного запаса.
Исходя из целей тестирования, проводят подбор и составление заданий
теста. При этом число заданий, которые предполагается вставить в тест,
сначала назначают ориентировочно, а затем увеличивают в 2-3 раза. Задания
подготавливают различной степени сложности: от самых легких до самых
трудных. Их формулируют таким образом, чтобы ответ тестируемого имел
наиболее лаконичную форму. Это особенно важно при проведении
тестирования с использованием автоматизированных диалоговых систем,
построенных на базе вычислительной техники.
Практика показывает, что к числу рационально составленных с этой
точки зрения заданий относятся такие, которые требуют представления ответа
в одной из следующих форм:
1) выборка правильного и полного ответа из серии предложенных
(правильных и неправильных, полных и неполных, точных и неточных);
2) выборка из двух частей (когда в первой части нужно сделать
какой-то выбор, а во второй- обосновать его);
3) выборка из двух возможных вариантов ( да/нет, 0/1, true/false),
4) расстановка элементов предложенного перечня в правильной
последовательности;
5) постановка в соответствие элементов двух перечней;
6) завершение высказывания, указание на выбор пропущенных слов;
7) ответ одним словом (числом);
8) многословный ответ с ограничением по порядку и связям между
словами.
Приведем примеры заданий, требующих высказывания (или введения в
ЭВМ) ответа в указанных формах. Для этого воспользуемся заданиями,
которые содержатся в блоках самопроверки оригинально написанной книги. В
ней излагаются основы общей дидактики. Некоторые задания приводятся ниже
в переработанном виде. Рядом с номером каждого примера указаны страницы
книги, откуда они взяты. После каждого задания даны правильные варианты
ответов.
Пример 1. Какой из указанных ниже ответов является правильным и
полным при ответе на вопрос: что охватывает своими исследованиями общая
дидактика?
Варианты ответов:
а) все предметы и уровни обучения;
б) все предметы и только определенный уровень обучения;
в) один предмет, содержание которого раскрывается на всех уровнях
обучения, включая вузовский.
(Ответ: а)
Пример 2. В общей дидактике выделяются следующие принципы
обучения: наглядности, доступности, сознательного и активного участия
учащихся в процессе обучения, систематичности, прочности приобретаемых
знаний, оперативности, связи теории с практикой. Является ли число
принципов обучения фиксированным? Да или нет?
(Ответ: нет)
Пример 3. Упорядочите последовательность следующих понятий в
очередности от наиболее общих к менее общим:
1. Общая дидактика.
2. Общественная наука.
3. Наука о воспитании.
4. Теория подбора содержания обучения.
( Ответ: 2,3,1,4)
Пример 4. Укажите слова, которые надо вставить в следующий текст.
Методы обучения позволяют ответить на вопрос, … нужно учить в
данных условиях. Формы обучения определяют, … организовать
дидактическую работу с учетом того, кто, …, … и с какой целью обучается.
Слова для вставок: зачем, где, почему, что, когда, чем, как.
(Ответ: как, как, где, когда)
Пример 5. Учение является одой из двух составляющих обучения. Как
называется другая составляющая?
(Ответ: преподавание)
Пример 6. В программированном обучении ( в частности, с помощью
АОС) различают три типа программ. Первый тип был предложен В.
Скиннером, второй- Н. Краудером, третий- Г. Паском. Как называются эти
типы программ?
(Ответ: линейная, разветвленная, смешанная, или
адаптивная)
При подготовке заданий теста необходимо также учитывать , что ответ
обучаемого на поставленный вопрос дает тем больше информации об уровне
его знаний, чем меньше вероятность случайного отгадывания правильного
ответа. Поэтому при наличии альтернативы целесообразно выбирать такие
формы вопросов, которые обеспечивают наименьшую вероятность случайного
отгадывания правильного ответа.
В качестве примера предположим, что преподаватель курса
теоретической механики хочет проверить правильность понимания студентом
понятия момента силы относительно оси. Оценим вероятность случайного
отгадывания правильного ответа для каждой из следующих форм заданий об
этой величине.
1. Сформулируйте определение момента силы относительно оси.
2. Вычислите момент силы F относительно оси 0у.
3. Вычислите момент силы F относительно осей 0х и 0у.
4. Вычислите момент силы F относительно осей 0х, 0у, 0z.
5. Является ли величина Fa моментом силы F относительно оси 0у?
6. Какая из величин Fa, - Fa, 0, Fa?2,- Fa?2 –является моментом силы
F относительно оси 0у?
7. Какая из величин: Fa, - Fa, 0- является моментом силы F
относительно оси 0х, какая- относительно оси 0у, какая- относительно оси 0z?
Оценку вероятностей случайного отгадывания правильного ответа в
предложенных вариантах сведем в таблицу 2.1
Таблица 2.1 - Оценку вероятности случайного отгадывания правильного ответа
Вариант
задания
Вероятность случайного
отгадывания Рi
Место варианта по
предпочтительности
1
1/64
3-4
2
1/64
3-4
3
1/512
2
4
1/4096
1
5
?
7
6
1/10
6
7
1/12
5
В качестве варианта рассмотрим седьмой вариант задания. Очевидно,
возможными являются шесть вариантов ответов. Следовательно, вероятность
правильного ответа равна 1/6. Учитывая, что правильный ответ может быть
дан случайно, получим:
Р7= (1/6)*(1/2)=1/12
Из таблицы видно, что наиболее информативным с точки зрения
контроля знаний является четвертый вариант задания.
Рассмотрим еще один пример и покажем, что при использовании
заданий с выборкой ответов из серии предложенных более предпочтительным
является вариант, когда в первой части обучаемый выбирает непосредственно
ответ на поставленный вопрос, а во второй- обосновывает свой выбор. Только
при совпадении правильного ответа в обеих частях ему засчитывается ответ
на задание в целом.
В качестве примера рассмотрим задание для контроля знания
кориолисова ускорения (пример из курса теоретической механики).
Часть 1. Для случая движения точки М, укажите правильный и полный
вариант ответа на вопрос: чему равно и как направлено ее кориолисово
ускорение ас. Величины ?, u, h, ? считать известными.
Варианты ответов: 1) ас=2?u sin?,
2) ас=2?u,
3) ас=0
4) ас=2?u,
5) ас=?u.
Часть 2. Из предложенных ниже вариантов обоснования ответа на
первую часть задания выберите правильный и полный:
1. Кориолисово ускорение равно удвоенному векторному
произведению вектора угловой подвижной системы и относительной скорости.
2. Кориолисово ускорение равно удвоенному скалярному
произведению вектора угловой скорости подвижной системы и относительной
скорости.
3. Кориолисово ускорение равно удвоенному произведению вектора
угловой скорости подвижной системы и относительной скорости.
4. Кориолисово ускорение равно удвоенному произведению модуля
угловой скорости подвижной системы, модуля относительной скорости и
синуса угла между ними. Оно направлено перпендикулярно вектору угловой
скорости подвижной системы и относительной скорости в ту сторону, откуда
кратчайший поворот первого вектора ко второму кажется происходящим
против хода часовой стрелки.
5. Кориолисово ускорение равно удвоенному векторному
произведению относительной скорости и вектора угловой скорости подвижной
системы
Оценим, во сколько раз уменьшается в приведенном примере
вероятность случайного правильного ответа при выборке из двух частей по
сравнению с выборкой из одной части.
Принимая в ответе на первую часть все предложенные варианты
равновероятными (а правильным является четвертый вариант), получим, что
вероятность правильного ответа на первую часть равна 1/5. Так как этот ответ
может быть дан правильно или случайно, или неслучайно, то вероятность
случайного правильного ответа можно оценить как (1/5)*(1/2)=1/10.
В ответе на вторую часть обучаемый должен указать, что правильными
являются варианты 1 и 4. Примем вероятность указания студентом на один из
них равной 1/5. Но для полного ответа должно иметь место произведение
событий, состоящих в указании на варианты 1 и 4 одновременно. По теореме
умножения вероятностей имеем:
P(A1*A2)=P(A1)*P(A2|A1)=(1/5)*(1/4)=1/20
Учитывая, что правильный ответ может быть дан дважды случайно,
окончательно получим, что вероятность правильного случайного ответа на
вторую часть равна:
(1/20)*(1/2)*(1/2)=1/80
Таким образом, в рассмотренном случае вероятность правильного
ответа при выборке из двух частей по сравнению с выборкой из одной части
уменьшается в 8 раз. Это означает, что формулировка контрольных заданий с
выборкой ответа двумя частями более предпочтительна по сравнению с
выборкой ответа, состоящего из одной части.
При разработке тестов на этапе составления заданий каждое из них
обычно проверяется заранее экспериментально. При этом оценивается
сложность задания и привлекательность каждого из вариантов
предполагаемых ответов. Об уровне сложности судят по проценту обучаемых,
давших неверные ответы, а об уровне привлекательности какого-либо
варианта предполагаемого ответа- по проценту обучаемых, выбравших его.
О дифференцирующей способности заданий судят по результатам
сравнения успешности выполнения рассматриваемого задания, с одной
стороны, и теста в целом, с другой. Для этого достаточно по каждому заданию,
включенному в тест, вычислить коэффициент корреляции между оценками,
полученными обучаемыми за выполнение рассматриваемого задания, и
оценками, полученными ими за выполнение теста в целом.
Для всестороннего анализа подготовленного задания составляется
статистика числа ответов по каждому из предполагаемых вариантов с
разбивкой всех обучаемых на подгруппы. Эта разбивка осуществляется по
результатам тестирования в целом: в первую подгруппу включаются самые
слабые, во вторую более сильные, в последнюю- самые сильные студенты.
Обычно ограничиваются делением на пять подгрупп, и таким образом, в
каждую из них входит 20% участников тестирования. Понятно, что в самой
сильной подгруппе будет больше всего лиц, ответивших на рассматриваемое
задание успешно, и наоборот, в самой слабой подгруппе будет больше всего
неправильных ответов. Если эффективность задания велика, то число
правильных ответов будет повышаться, а число неправильных- снижаться от
первой к пятой подгруппе.
Полученная таким образом информация используется экспертами для
совершенствования заданий рассматриваемого теста.
Заданиям, отобранным для составления теста, присваиваются номера в
порядке нарастания (по мнению составителей) степени сложности их
выполнения.
На следующем этапе разработки теста на достаточно представительной
группе испытуемых с подготовленными заданиями проводится эксперимент.
При этом выполнение заданий теста оценивается по заранее оговоренным
критериям и с использованием также заранее оговоренной системы оценок.
Наиболее простой и достаточно часто используемой является система оценок,
при которой за каждое правильно и полно выполненное задание теста
испытуемому начисляется один балл. В противном случае его оценкой
является ноль баллов.
По данным эксперимента составляется матрица оценок. Ее вид при
использовании двухбальной системы оценок показан в таблице 2.2 Здесь для
наглядности учтено всего лишь 12 заданий и 12 испытуемых. Подсчитаны
суммы баллов, набранные каждым испытуемым по всем заданиям с одной
стороны, и всеми испытуемыми по каждому заданию, с другой.
Таблица 2.2 - Пример матрицы результатов тестирования по итогам
эксперимента
Фамилии
испытуемых
Номера заданий
Сумы
балов
1
2
3
4
5
6
7
8
9
10
11
12
А
1
1
1
1
1
1
1
1
1
1
0
0
10
Б
1
1
0
0
1
1
1
0
0
0
0
0
5
В
1
1
1
1
0
1
1
1
1
1
0
1
10
Г
0
1
0
0
0
0
0
0
0
0
0
0
1
Д
1
1
1
1
1
1
1
1
0
0
0
0
8
Ж
0
1
0
0
0
0
0
0
1
0
0
0
2
З
1
1
0
1
0
0
0
0
0
0
0
0
3
И
0
1
0
0
0
0
0
0
0
0
0
0
1
К
1
1
1
1
1
1
0
1
0
0
0
0
7
Л
1
1
0
0
1
1
1
0
0
0
0
0
5
М
1
1
0
1
1
0
0
0
0
0
0
0
4
Суммы баллов
9
12
5
7
7
6
5
4
3
2
0
1
61
Полученная экспериментально матрица подлежит упорядочению. При
этом прежде всего выявляются те задания, с которыми справились абсолютно
все испытуемые, или наоборот, те, с которыми не справился никто. В
рассматриваемом примере (см. таблице 2.2) к числу первых относится задание
2, а к числу вторых - задание 11. Подобные задания не выполняют
дифференцирующей функции и из состава теста исключаются.
После того, как задания типа 2 и 11 из рассмотрения исключены,
следует обратить внимание на те строки матрицы, где остались одни нули.
Последние свидетельствуют о полном незнании, неумении или отсутствии
исследуемого качества (все зависит от целей тестирования). Соответствующие
испытуемые (в рассматриваемом примере Г и И) из учета исключаются. В
необходимых случаях с ними проводятся индивидуальные собеседования
экспертов и принимаются необходимые решения.
В матрице могут оказаться строки, содержащие (после удаления чисто
нулевых столбцов) одни единицы. Если таких строк несколько, то это
свидетельствует о недостаточной дифференцирующей способности теста.
Улучшить тест можно, добавив в него некоторое количество сравнительно
трудных заданий (естественно, не такой трудности, как те, которые уже были
опробованы, и с которыми не справился ни один испытуемый).
Продолжая упорядочение матрицы, далее следует сделать в ней
перестановки строк так, чтобы сведения об испытуемых расположились в
порядке убывания сумм набранных баллов сверху вниз. Одновременно
необходимо проследить и за тем, чтобы суммы баллов по каждому из
оставшихся заданий также расположить в порядке убывания слева направо.
При этом, если требуется, то следует сделать необходимые перестановки
столбцов.
Упорядоченная таким образом матрица принимает вид, показанный в
таблице 2.3. Одним из признаков упорядоченной матрицы является наличие в
ней диагонали, которая условно делит поле матрицы на две части: в одной
содержатся в основном положительные оценки (например, единицы), в другой
– отрицательные (например, нули). Эта диагональ проходит из левого нижнего
угла в правый верхний и не является в строгом смысле прямой.
В обоих полуполях имеются при этом, как правило, исключения: нули
среди единиц и единицы среди нулей. Используя эти исключения,
наследующем этапе разработки теста проводится так называемая чистка
матрицы. Поясним эту операцию опять-таки на рассматриваемом примере.
Испытуемый Б прекрасно справился со всеми заданиями за
исключением пятого, сравнительно легкого. С другой стороны, испытуемый Е
не справился ни с одним заданием, за исключением девятого, по которому он
получил положительную оценку. Понятно, что и то, и другое является
случайностью и из рассмотрения должно быть исключено.
Оценки, полученные испытуемым Б, имеют явный разброс и говорят о
недоверительности результата тестирования. Очевидно, необходимо эти
оценки из рассмотрения исключить, а с испытуемым Б провести собеседование
эксперту.
Таблица 2.2 - Пример упорядоченной матрицы результатов тестирования
Фамилии
испытуемых
Номера заданий
Суммы
баллов
1
4
5
3
6
7
8
9
10
12
В
1
1
0
1
1
1
1
1
1
1
9
А
1
1
1
1
1
1
1
1
1
0
9
Д
1
1
1
1
1
1
1
0
0
0
7
К
1
1
1
1
1
0
1
0
0
0
6
Б
1
0
1
0
1
1
0
0
0
0
4
Ж
1
1
1
1
0
0
0
0
0
0
4
Л
1
1
1
1
0
0
0
0
0
0
4
М
1
1
1
0
0
0
0
0
0
0
3
З
1
1
0
0
0
0
0
0
0
0
2
Е
0
0
0
0
0
0
0
1
0
0
1
Суммы баллов
9
8
7
6
5
4
4
3
2
1
49
Вполне возможно, что после выявления такими рассуждениями
исключений столбцов и строк потребуется еще раз переставить некоторые
столбцы. В рассматриваемом случае так надо поступить со столбцами,
представляющими результаты тестирования по заданиям 7 и 8.
В результате подобных исключений и перестановок получается
упорядоченная и вычищенная матрица. Она имеет вид, показанный в таблице
2.3. Здесь четко просматривается деление матрицы на два полуполя: в одном
из них только положительные оценки, в другом- только нули. Такая матрица
обладает рядом полезных для практики тестирования свойств. Но прежде, чем
их рассмотреть, остановимся на этапах оценки надежности и валидности теста.
Для оценки надежности теста можно воспользоваться, например,
делением его на две части; в первой – учесть только задания, в которых
представлена информация в нечетных столбцах, а во второй – в четных. Затем
вычислить коэффициент корреляции.
В рассматриваемом примере из таблицы 2.3 получим соответственно
две матрицы, представленные в таблице 2.4. Через xi и yi в таблице
обозначены суммы баллов, набранные испытуемыми по соответствующим
частям теста.
Таблица 2.3 - Пример упорядоченной и вычищенной матрицы результатов
тестирования
Фамилии
испытуемых
Номера заданий
Суммы
баллов
1
4
3
6
8
7
10
12
В
1
1
1
1
1
1
1
1
8
А
1
1
1
1
1
1
1
0
7
Д
1
1
1
1
1
1
0
0
6
К
1
1
1
1
1
0
0
0
5
Ж
1
1
1
0
0
0
0
0
3
Л
1
1
1
0
0
0
0
0
3
М
1
1
0
0
0
0
0
0
2
З
1
1
0
0
0
0
0
0
2
Суммы баллов
8
8
6
4
4
3
2
1
36
Таблица 2.4 - Пример оценки коэффициента надежности теста делением на две
части
Фамилии
испытуе-
мых
Первая часть теста
Вторая часть теста
xiyi
Номера заданий
xi
xi2
Номера заданий
yi
yi2
1
3
8
10
4
6
7
12
В
1
1
1
1
4
16
1
1
1
1
4
16
16
А
1
1
1
1
4
16
1
1
1
0
3
9
12
Д
1
1
1
0
3
9
1
1
1
0
3
9
9
К
1
1
1
0
3
9
1
1
0
0
2
4
6
Продолжение таблицы 2.4
Ж
1
1
0
0
2
4
1
0
0
0
1
1
2
Л
1
1
0
0
2
4
1
0
0
0
1
1
2
М
1
0
0
0
1
1
1
0
0
0
1
1
1
З
1
0
0
0
1
1
1
0
0
0
1
1
1
Суммы
20
60
16
42
49
Подставив данные таблицы 2.4 в формулы, получим
kxy=49/8-(20*16)/64=1,125
Dx= 60/8-400/64=1,250
Dy=42/8-256/64=1,250
Rxy=1,125/(1,25*1,25)=0,9.
Для определения коэффициента надежности полного теста необходимо
воспользоваться формулой. Тогда окончательно найдем
r=2rxy/(1+rxy)=2*0,9/(1+0,9)=0,947.
Естественно, что полученное значение справедливо только на учтенной
выборке испытуемых. Те же задания, но на другой выборке, очевидно,
приведут к другому значению коэффициента надежности. В этом несложно
убедиться, воспользовавшись исходными данными, содержащимися в таблице
2.1.
Но если для тестирования используется ЭВМ, если происходит
постоянное накопление информации по какому-то тесту, если число
испытуемых в расчете коэффициента надежности непрерывно увеличивается,
то величина последнего, очевидно, со временем принимает стабильное
значение. Именно его и принимают во внимание при сравнении различных
тестов.
2.2 Разработка структурной схемы системы тестирования
Особенности строения тестовой системы, а точнее то, что она работает
в сети интернет, позволяют улучшить те недостатки тестовой системы,
которые были у ее локальных версий. Например результат тестирования
студент теперь получит сразу после окончания тестирования. Раньше в целях
безопасности этот результат выдавал центр дистанционного образования,
после предварительного сравнения с файлами ключей.
Весь тест построен на основе двух частей: серверной и клиентской.
Серверная часть обеспечивает нормальную работу теста. Клиентская часть
представлена дает возможность тестироваться студентам и управлять базой
вопросов для преподавателя.
Структура теста строится на основе http (hiper text transfer protocol).
Программа - сервер запускается через интернет и выдает пользователю HTML
страницу с запросом. Выбрав вариант ответа студент нажимает кнопку
"Ответить" и к программе серверу высылается запрос. Сервет получив ответ от
клиента обрабатывает полученные данные, записывает промежуточный
результат во временный файл. Этот файл хранится до окончания тестирования,
а в случае, если тест не был вовремя завершен, или произошел разрыв связи
данные из этого файла сохраняются в базу и при следующем соединении они
будут восстановлены. Тест начнется с прерванного места. Далее сервер выдаст
новую страницу, со следующим вопросом и так до завершения теста см.
рисунок 2.1
После ответа на последний вопрос программа произведет оценку теста
и студенту будет выдан результат. Он автоматически будет сохранен в базу
тестирований.
Рисунок 2.1 Схема работы тестовой программы
Алгоритмы обработки ответов, даваемых тестируемым строятся в
зависимости от структуры вопросов, используемых в тестирующих
программах. В данном дипломе предложена схема, на которой представлены
способы обработки ответов для каждой из рассмотренных структур вопросов.
Рассмотрим подробнее предложенные варианты обработки ответов.
Если используется структура вопроса с выбором, шаблоном ответа или
с конструируемым ответом, то при создании теста задается правильный ответ
(если он один или "степень правильности" ответа; во втором случае, при
проведении текущего контроля, можно будет определить степень усвоенности
учебного материала, а не только – усвоен (весь) материал или нет), поэтому в
тестирующей программе к моменту проведения теста известен правильный
ответ – эталон ответа. Таким образом, достаточно при обработке ответов,
даваемых обучаемым, сравнить его ответ с эталоном ответа.
Ответы на вопросы графического вида с ссылками обрабатываются
также, как и ответы первых двух описанных групп.
При использовании вопросов на соответствие обучающий задает верное
соответствие утверждений. Это верное соответствие в общем случае можно
представить в виде эталонного двумерного массива. При обработке ответов
обучаемого необходимо сравнить указанное им соответствие с эталонным
массивом и определить количество совпадений.
При использовании вопросов с указанием последовательности
утверждений, при создании тестов, задается правильная последовательность
утверждений – эталонная последовательность. В результате сравнения
последовательности, введенной учащимся с эталонной последовательностью,
определяется правильность ответа на вопрос.
Разработанная в данном дипломном проекте тестирующая система
использует вопросы с указанием последовательности утверждений.
Особенностью является то, что в вопросе можно использовать рисунки и текст
вопроса можно форматировать. Обучающий формирует тест в подсистеме
создания теста. Тестовые данные записываются в базу данных 1, структура
которой представлена в таблице:
Таблица 2.5 - Структура базы данных
Наименование поля
Вопрос
Ответ
Файл рисунка
Сложность
Тип
Строка
Строка
Строка
Байт
Из базы данных в подсистеме тестирования вопросы выдаются
обучаемому. Здесь же, в блоке проверки ответов производится проверка
введенных ответов на правильность.
По окончании теста обучаемому выставляется оценка с учетом
количества правильных ответов и затраченного времени.
Данные об ответах записываются в базу данных 2, доступ к которой
защищен паролем, предполагается, что эти данные будут доступны только
обучающим.
Рисунок 2.1 - Структурная схема тестирующей подсистемы
2.3 Разработка алгоритма выдачи вопросов
Тест представлен в иерархической форме, поэтому порядок выдачи
вопросов теста нельзя представить линейной структурой, как это было
реализовано в предыдущих тестовых программах. Все они реализовывали
жесткую линейность алгоритма выдачи и оценки вопросов обучаемого. В
тесте, реализованном в данном дипломном проекте Структура вопросов -
иерархическая. Они строятся по древовидной структуре. Самая главная ветвь -
первая, она представлена вопросами из первой категории сложности - которые
имеют наибольший вес при оценке теста. Далее идет следующая ветвь. В ней
вопросы имеют более низкий вес. Каждому вопросу из главной ветви
соответствует какое то количество вопросов нижней ветви, и так по всему
дереву иерархии.
Тестирование начинается с выдачи студенту вопроса из первой
категории. В случае если на вопрос получен правильный ответ, то
тестирование продолжается в этой же категории. Так продолжается до тех пор,
пока студент не наберет бал, необходимый для завершения тестирования. Т.к.
вопросы верхней категории имеют наибольшую оценку (вес), то тестирование
по верхней ветви включает наименьшее количество вопросов. Следовательно,
если знания студента достаточны для того, чтобы правильно пройти тест по
верхней категории, то тест будет пройден при меньшем количестве
затраченного времени и студенту будет задано меньшее количество вопросов.
Если же тестируемый допускает ошибку при ответе на очередной вопрос
верхней категории, то система автоматически предложит ему переход на более
легкий уровень вопросов, однако здесь ему придется ответить на большее
количество вопросов меньшей чем в предыдущей ветви степени сложности.
Правильно ответив на необходимое количество вопросов нижней ветви
студент переходит на более верхнюю ветвь теста, с более высокими
коэффициентами оценки. Весь тест ограничивается максимальным
количеством вопросов, которое может быть предложено тестируемому.
Данная схема действительна для каждой ветви теста. На последней -
самой нижней ветви после неправильного ответа происходит выдача
следующего вопроса и дальнейшего перехода вниз не происходит.
Алгоритм реализован при помощи скрипта test.cgi (Приложение Б)
первоначально переменной $branch присваивается значение 1 - в ней хранится
текущая ветвь теста. Все остальные переменные обращаются в ноль.
Программа хранит следующий набор переменных 1: $1 - порядок теста по
первой ветви ... $n -порядок теста по n-ой ветви тестирования. В зависимости
от степени прохождения теста они хранят значения указателя на следующий
задаваемый вопрос данной категории. В переменной $time хранится время,
отводимое на каждый тестовый вопрос в секундах. Перед началом
тестирования запускается скрипт runtest.cgi, который осуществляет
инициализацию тестовой базы вопросов и сравнивает пароль введенный с
клавиатуры студентом с паролем, находящимся в файле users на сервере
тестовой программы.
2.4 Разработка алгоритма оценки теста
Алгоритм оценки теста построен на программе reztest.cgi (Приложение
Б). Он осуществляет разветвленную оценку теста по каждой из категорий. Из
переменных $1…$n берутся значения количества отвеченных вопросов по
каждой из n категорий. Как уже говорилось выше, каждая категория имеет
свои весовые знаки, поэтому по каждой категории подсчитывается общее
количество правильных ответов, вычисляется общий процент правильных по
категории и подводится общий результат тестирования. Подведение
результата начинается с низшей категории. Т.е. подсчитывается колличество
правильных ответов по низшей - n-ой ветви тестирования и вычисляется
суммарный вес n-ой категории. Далее оценивается, какой процент правильных
ответов n-1 категории составляет оценка n-ой категории и какое количество
процентов следует добавить к категории выше. Так проверка осуществляется
от нижней категории к верхней. При определенных установках тестирующей
программы студент может пройти тест на положительную оценку по любой из
ветвей.
При загрузке проверочного модуля с файлов вопросов и ответов
files/qwest1… files/qwest[n] считываются веса каждого вопроса. Из файла
установок считываются процентные отношения результата тестирования,
далее программа анализирует полученные результаты, сравнивает ответы
студента с оригиналом из файла, и присваивает ответу его вес. Далее в
процедуре &analiz происходит сложение весов и вычисление итогового
процента по категории и подсчет конечного результата. Конечный ответ
выдается при помощи процедуры &result в переменную $itog. Каждый ответ
студента фиксируется в LOG файле. Здесь отображается фамилия студента,
группа, время прохождения тестирования, номер текущей категории, номер
вопроса, номера ответов, которые указал студент при тестировании.
Студенту в итоге динамически выдается HTML файл с текущей
оценкой. Он сохраняется в файле отчета itog.txt на сервере, а студенту и
преподавателю, на их почтовые адреса высылаются письма с результатами
тестирования.
2.5 Выводы
В данной главе были рассмотрены основные алгоритмы выдачи
вопросов теста и алгоритм проверки тестовых результатов.
Были рассмотрены тестовые системы, созданные ранее, оценена их
степень надежности оценки результата, были приведены примеры
формулирования вопросов различных тестовых систем.
В данной главе была оценена вероятность отгадывания правильного
ответа обучаемым и оценена вероятность при разном способе формирования
вопроса.
Был приведен пример оценки коэффициента надежности теста
делением на две части.
В этой главе была разработана структурная схема проведения теста и
сравнение новой программы тестирования с ее предыдущими аналогами. Как
оказалось новая тестовая программа более надежно защищена от постороннего
вмешательства и она полностью поддерживает идею дистанционного
образования. Ее интерфейс реализован при помощи динамически
генерируемого HTML, на основе WEB сервера. Это дало возможность
получить доступ к системе из любой точки земного шара, где есть выход в
интернет. Эта возможность сделала идею дистанционного образования
действительно реализуемой в центре дистанционного образования.
32