Сложные тестовые задания с обработкой по формуле

Сложные тестовые задания с обработкой по формуле

от Николай Королев -
Количество ответов: 3

Коллеги, добрый день! 

Возникла задача сделать тестовые задания, у которых:

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

2. Результат тестирования должен вычисляться по формуле: Р = (С1/С2 + (1 – С3/С4))/2 х 100, где 

где С1 - количество ответов тестируемого, которые он пометил как правильные, и которые являются правильными;

C2 - общее количество правильных ответов по всем вопросам тестового задания;

С3 - количество ответов тестируемого, которые он пометил как правильные и которые правильными не являются;

С- общее количество неправильных ответов по всем вопросам тестового задания.

Кто-нибудь реализовывал что-то подобное? Нужно разрабатывать новый модуль или можно обойтись существующими модулями или инструментами?


В ответ на Николай Королев

Re: Сложные тестовые задания с обработкой по формуле

от Alexandre Scherbyna -

В Moodle можно случайным образом выбирать из банка тестовых вопросов и предъявлять студентам готовые тестовые вопросы. А вот возможности автоматически создавать вопросы - нет. Банков правильных и неправильных ответов тоже нет.

В ответ на Николай Королев

Re: Сложные тестовые задания с обработкой по формуле

от Vadim Dvorovenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода

В чистом виде этого, конечно, сейчас нет.

Но, хотелось бы, увидеть от Вас пару примеров таких вопросов, чтобы стало понятно, почему это нужно всем настолько.

Как основу для идеи можно посмотреть  https://moodle.org/plugins/qtype_ordering , в этом типе вопроса есть возможность показывать только часть ответов и есть несколько формул подсчёта итогового ответа.

Мой опыт показывает, что вместо того, чтобы пытаться создавать случайные вопросы средствами moodle, разумнее сгенерировать их в нужно объёме вне moodle и импортировать. Это можно сделать вопросами на соответствие, там можно использовать по несколько одинаковых ответов у разных подвопросов.

У вас есть исходный вопрос с 20 вариантами Да/Нет. Вы делаете 100 вариантов этого вопроса, но с 5 случайно выбранными в нужной пропорции ответов. Эти 100 вариантов помещаете в одну категорию. Со следующим вопросам также, и в новую категорию. В тест включаете по 1 случайному вопросу из каждой категории и тестируете стандартными средствами. Написать программку, которая делает для вопроса разные варианты можно почти на любом языке программирования. Это будет гораздо проще, чем писать модуль для moodle. Для VBA в составе конвертера https://moodle.org/mod/forum/discuss.php?d=257603 есть библиотеки для работы с вопросами стандартных типов. Можно сконвертировать в moodlexml и  написать программу вырезания лишних вопросов в xml.

Что касается специфического обсчёта результатов, то стандартный модуль показывает только сумму правильно-правильных и неправильно-неправильных ответов R = C1+ (C4-C3). Если вы сможете преобразовать свою формулу к вычислению результата через R, учитывая, что С2+С4=N, C2=k N, С4 = (1-k) N, где N - общее число ответов в тесте, k - коэффициент пропорции в выборке, то можно будет пересчитывать результат напрямую из R по простой формуле. Если нет (у меня не получилось), то можно попробовать придумать хитрый sql-запрос для выборки  отдельно и использовать его через модуль configurable reports

В ответ на Vadim Dvorovenko

Re: Сложные тестовые задания с обработкой по формуле

от Николай Королев -

Огромное спасибо Вам за подробный ответ!

По поводу решения проблемы выборки случайных ответов, мне приходила идея разбить вопрос на несколько одинаковых вопросов с разными наборами ответов, просто я их думал руками сделать, например, штук 4-5, а Ваша идея с автоматизацией мне понравилась, покопаю в эту сторону.

Что касается формулы (я ИТ-специалист, а формулу мне дал для реализации начальник учебного центра), я ломал голову как её реализовать, потом стал пробовать разбирать какие-то простые случаи и вдруг увидел очевидную глупость: Если студент не выберет ни одного ответа:

С1=0, С3=0

или выберет все:

С1=С2 и С3=С4 

, то по этой формуле он получит оценку 50% (что "удовлетворительно")! 

Это же вообще нечестно. Буду пробовать оспорить формулу. Стандартный алгоритм намного честнее работает, плюс надо попробовать поиграться с отрицательными оценками за выбор некорректного ответа.