Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тестирование как одно из средств КЗ.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
474.62 Кб
Скачать

Движение вверх по иерархии ек

Если испытуемый успешно ответил на вопрос currentQ, то следующий вопрос выбирается среди вопросов, которые ассоциированы с родительскими ЕК по отношению к ЕК currentC. Эти ЕК не должны иметь пометок, т. е. Mark для них не определено.

Пусть из вопросов, ассоциированных с родительскими ЕК, сформировано множество SampleQ. Среди вопросов SampleQ выбирается вопрос, уровень сложности которого больше уровня сложности предыдущего вопроса, т. е. принадлежит интервалу [currentQ.Difficulty + low,currentQ.Difficulty + high], где low и high – минимальный и максимальный прирост сложности вопроса. Если ограничение по уровню сложности не выполняется, то выбирается вопрос, уровень сложности которого наиболее близко соответствует ограничению.

Как результат выбирается очередной вопрос currentQ (и ассоциированная с ним ЕК currentC), который соответствует ЕК более высокого уровня иерархии и который, как правило, характеризуется более высокой сложностью.

Ответ на тестовый вопрос записывается в траекторию тестирования Student.TestTrack. Если ответ оценен положительно, то ЕК currentC и все нижележащие ЕК оцениваются как подтвержденные, и движение продолжается вверх до целевой ЕК. Если ответ оценивается отрицательно, то ЕК currentC и все вышележащие ЕК помечаются как неподтвержденные, и начинается движение вниз по иерархии ЕК с целью определения тех ЕК, которыми не владеет испытуемый.

Рассмотрим на примере движение вверх по иерархии ЕК. Испытуемый ранее успешно ответил на вопрос currentQ = Q1 (currentC = C5). Формируем множество вопросов, ассоциированных с родительскими ЕК по отношению к C5, получаем SampleQ = {Q1, Q2, Q3}. Среди вопросов SampleQ выбираем вопросы, уровень сложности которых принадлежат интервалу [50+5, 50+10], где 50 – уровень сложности вопроса Q1; 5 и 10 – минимальный и максимальный прирост сложности вопроса. Этому ограничению удовлетворяют два вопроса – Q3 и Q5.

Из них вероятностным способом выбираем вопрос Q5, следовательно, currentQ = Q5 и currentC = C4 (см. рис. 3).

Предположим, что испытуемый ответил на вопрос Q5 неверно, тогда помечаем ЕК C4, а также вышележащую непомеченную ЕК С1, как неподтвержденные (см. рис. 3). Далее двигаемся вниз по иерархии с целью определения причины неудачного исхода.

Движение вниз по иерархии ек

Если испытуемый не ответил на вопрос currentQ, то задается вопрос с целью выяснения причины такого исхода: либо испытуемый не владеет текущей ЕК, либо – одной из нижележащих ЕК. Поэтому следующий вопрос выбирается среди вопросов, которые ассоциированы с дочерними ЕК (не имеющими никаких пометок) по отношению к ЕК currentC. Как результат из вопросов, ассоциированных с дочерними ЕК, формируется множество SampleQ.

С целью более точного определения причины неудачного ответа на родительский вопрос currentQ из множества SampleQ необходимо выбрать только те вопросы, которые связаны с ним по контексту. Для связанности двух вопросов по контексту предлагается использовать теги. Они могут иметь различную природу; применительно к предметной области «программирование на языке высокого уровня Си» можно использовать ключевые слова языка программирования. Таким образом, в множество SampleQ попадают только те вопросы, которые имеют наибольшее пересечение по тегам с родительским вопросом.

Далее среди вопросов SampleQ выбирается вопрос, уровень сложности которого меньше уровня сложности предыдущего вопроса, т. е. принадлежит интервалу [currentQ.Difficulty + high,currentQ.Difficulty - low], где low и high – минимальная и максимальная убыль сложности вопроса. Если ограничение по уровню сложности не выполняется, то выбирается вопрос, уровень сложности которого наиболее близко соответствует ограничению.

Как результат выбирается очередной вопрос currentQ (и ассоциированная с ним ЕК currentC), который соответствует ЕК более низкого уровня иерархии и который, как правило, характеризуется меньшей сложностью.

Ответ на тестовый вопрос записывается в траекторию тестирования Student.TestTrack. Если ответ оценивается отрицательно, то ЕК currentC и все непомеченные вышележащие ЕК помечаются как неподтвержденные; и продолжается движение вниз по иерархии ЕК до листьев. Тем самым продолжается поиск причины неудачных исходов. При этом может возникнуть ситуация, когда базовая ЕК и все ее родительские ЕК уже помечены, следовательно, движение вверх-вниз по иерархии ЕК невозможно. Однако в иерархии ЕК могут оставаться еще непомеченные ЕК. В этом случае требуется поиск еще непомеченных ЕК, не связанных с текущей.

Если ответ оценен положительно, то ЕК currentC и все нижележащие непомеченные ЕК оцениваются как подтвержденные. В этом случае возникает ситуация, когда родительская ЕК не подтверждена, а дочерняя – подтверждена, следовательно, движение вверх-вниз по иерархии ЕК невозможно и требуется переход к несвязанной ЕК.

Рассмотрим на примере движение вниз по иерархии ЕК. Испытуемый ранее неудачно ответил на вопрос currentQ = Q5 (currentC = C4). Формируем множество вопросов, ассоциированных с дочерними (непомеченными) ЕК по отношению к C4, получаем SampleQ ={Q2}. Так как найден только один вопрос, то поиск по тегам и уровню сложности не имеет значения, следовательно, currentQ = Q2 и currentC = С6 (см. рис. 3).

Предположим, что испытуемый ответил на вопрос Q2 неверно, тогда помечаем ЕК C6, а также вышележащую непомеченную ЕК C2, как неподтвержденные (см. рис. 3). В этом случае движение вверх-вниз по иерархии ЕК не-возможно, а так как не все ЕК помечены, то требуется переход к несвязанной ЕК.