Разработка модулей

Разработка модулей

от Евгения _ -
Количество ответов: 39

Необходимо разработать модуль, который проводит дополнительный анализ результатов тестирования.

Проблема: Как "выцепить" некоторые данные (например, индивидуальный балл студента)?

В ответ на Евгения _

Re: Разработка модулей

от Alexandre Scherbyna -
Интересно, а какой именно дополнительный анализ вы хотите сделать? И что вы называете индивидуальным баллом студента?
В ответ на Alexandre Scherbyna

Re: Разработка модулей

от Евгения _ -

Дополнительный анализ должен оценить адекватность дистракторов тестовых заданий. В результате работы модуля, мы должны увидеть, какие дистракторы необходимо заменить или  удалить. Данный модуль работает только с тестовыми заданиями закрытого типа с одним правильным ответом. Под индивидуальным баллом я имела ввиду оценку тестируемого в баллах, т.е. на сколько вопросов был дан правильный ответ.

В ответ на Евгения _

Re: Разработка модулей

от Artem Andreev -
Изображение пользователя Эксперт по Moodle
А по каким критериям, которых нет в стандартном анализе, Вы хотите проводить оценку?
В ответ на Artem Andreev

Re: Разработка модулей

от Евгения _ -

В СДО Moodle возможен лишь только просмотр частоты выбора вариантов ответа, но никак не реализован механизм определения хорошо подобранных дистракторов от совершенно неправдоподобных вариантов, т.е. никак нельзя определить дифференцирующую способность всех дистракторов. Для оценки дифференцирующей способности дистракторов предполагается использовать точечно-бисериальный коэффициент Rpb, оценивающий величину корреляции между столбцами выбора дистрактора и столбцом оценки.

В ответ на Евгения _

Re: Разработка модулей

от Vadim Dvorovenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода
У меня в планах было создание для moodle системы распределённого рецензирования тестов другими преподавателями. Если для вашей модели есть достаточно понятное описание, то можно и этим заодно занятся.
Я так понимаю, Вас интересует не общая частота выборов неправильных ответов, а частота выбора конкретного неприавильного ответа отличниками, и если она большая, значит этот вопрос вводит их в заблуждение. Поправьте меня, если я не прав.
В ответ на Vadim Dvorovenko

Re: Разработка модулей

от Евгения _ -

Меня вообще интересует частота выбора того или иного варианта ответа, будь он правильным или нет, и то какие именно ученики выбирают его ("сильные" или "слабые").

У меня есть разработка, сделанная в MS Excel, хотелось бы что-нибудь подобное получить в Moodle.

* отмечен правильный вариант ответа.

Приложение 3.JPG
В ответ на Евгения _

Re: Разработка модулей

от Artem Andreev -
Изображение пользователя Эксперт по Moodle
Совершенно неправдоподобные дистракторы будет выбирать малый процент учащихся (вплоть до 0), или я не прав? Было бы интересно, если бы Вы чуть полнее раскрыли смысл этого коэффициента. Заранее спасибо.
В ответ на Artem Andreev

Re: Разработка модулей

от Vadim Dvorovenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода
Оффтопик.
Слушайте, а почему нельзя говорит по-русски?
Я понимаю, что в теории педагогических измерений термин дистрактор является достаточно устоявшимся, но почему его в общении на форуме нельзя называть просто неверным вариантом ответа?
В ответ на Vadim Dvorovenko

Re: Разработка модулей

от Artem Andreev -
Изображение пользователя Эксперт по Moodle
Потому что это не просто "неверный ответ", это, как минимум, "правдоподобный неверный ответ". Просто словосочетание "неверный ответ" очень общо и неконкретно. А дистрактор как-то сразу конкретизирует обсуждение. Не просто же так это слово придумали улыбаюсь Да и "качество неверного ответа" как-то странновато, на мой взгляд, звучит, хотя может это субъективно...

Встречный вопрос: а почему в общении на форуме нельзя использовать устоявшуюся терминологию? улыбаюсь
В ответ на Artem Andreev

Re: Разработка модулей

от Vadim Dvorovenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода
> Совершенно неправдоподобные дистракторы будет выбирать малый процент учащихся (вплоть до 0), или я не прав?

Предположим, что в группе 80% двоечников, которые выбирают всегда наугад один из четырёх и 20% отличников, которые выбирают думая и никогда не выберут неправдоподобный ответ. Для правдоподобных ответов остаётся 33%.
Значит неправдоподобный (с точки зрения отличника) ответ будет выбираться в среднем 80%*25%+20%*0% = 20% случаев, а правдоподобный 80%*25%+20%*33% = 26%. 6% разницы - это слишком низкое разрешение, чтобы разделить ответы на адекватные или нет. Нужно либо создавать отдельную контрольную группу отличников, либо считать какую-то корелляцию.
Надеюсь я развиваю мысль автора вопроса в правильном направлении.

> Встречный вопрос: а почему в общении на форуме нельзя использовать устоявшуюся терминологию?
Лишь потому, что форум в основном по техническим вопросам, и педагогический термин может быть не понят. Точно так же, как на педагогическом форуме не стоило бы употреблять слова типа sql, .net и ajax
В ответ на Vadim Dvorovenko

Re: Разработка модулей

от Artem Andreev -
Изображение пользователя Эксперт по Moodle
Ну, в форуме хоть и преобладают технические вопросы, но по инструменту все же педагогическому.
Да и дистрактор всплыл совсем не в технической подветви обсуждения.
В ответ на Artem Andreev

Re: Разработка модулей

от Евгения _ -

Точечно-бисериальный коэффициент для дистрактора должен быть отрицательным и удовлетворять условию: Rpb <-0.2, т.е. данный дистрактор выбирают многие слабые ученики, но не выбирают сильные. Положительные или близкие к нулю значения Rpb для дистрактора говорят о необходимости удаления его из задания, потому что такие дистракторы выбирают многие сильные ученики. Для правильного варианта ответа Rpb > 0.5, т.е. этот вариант ответа должны выбирать многие сильные ученики, но не выбирать слабые.

Расчетная формула точечно-бисериального коэффициента корреляции:

M 1 – средний балл тестируемых, выбравших анализируемый дистрактор.

M 0 – средний балл тестируемых, выбравших любой другой дистрактор.

Sx – корень квадратный из дисперсии по распределению индивидуальных баллов.

n 1 – количество тестируемых, выбравших данный дистрактор.

n 0 – количество тестируемых, не выбравших данный дистрактор.

n – общее количество тестируемых.

Приложение 1.jpg
В ответ на Евгения _

Re: Разработка модулей

от Artem Andreev -
Изображение пользователя Эксперт по Moodle
"оценку тестируемого в баллах, т.е. на сколько вопросов был дан правильный ответ"

в рамках одной попытки, всех попыток?
Во многих случаях одним числом это нигде не хранится, потому будут целые блоки кода по подсчету соответствующих значений. Соответственно ответ на Ваш вопрос совсем не так прост как кажется.
В ответ на Artem Andreev

Re: Разработка модулей

от Евгения _ -

Для начала, хотя бы в рамках одной попытки.

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

В ответ на Евгения _

Re: Разработка модулей

от Alexandre Scherbyna -
> Под индивидуальным баллом я имела ввиду оценку тестируемого в баллах.
Так какие же тут трудности с его "выцепливанием"? Этот показатель доступен в Журнале оценок для каких угодно вычислений. Или вы что-то другое имеете в виду?
В ответ на Alexandre Scherbyna

Re: Разработка модулей

от Евгения _ -

Дело в том, что в PHP я новичок, и где именно хранятся необходимые мне переменные представляю с трудом.

Если я правильно понимаю, работать мне надо с файлами, содержащимися в ..\moodle\mod\quiz. Открывая файлы, я вижу "кучу", извините уж, переменных. Именно для этого я и пришла в форум, потому что в моем окружении специалистов, которые бы мне помогли, нет.

В ответ на Евгения _

Re: Разработка модулей

от Dmitry Pupinin -
Вам нужно скопировать папку
mod\quiz\report\analysis
назвать ее например distractions и разбираться в той "куче" строк улыбаюсь, которые написаны в файле report.php, находящемся внутри этой папки. Именно этот файл генерирует страницу с аналитикой по тесту. Вам нужно отобразить аналогичную табличку, но со своим столбиком (и коэффициентом) вместо четырех последних имеющихся.
В ответ на Dmitry Pupinin

Re: Разработка модулей

от Евгения _ -

Еще один примитивный вопрос.

В этой папке mod\quiz\report\analysis рядом с report.php создадим еще один файл (например, distract.php), как самым простым способом в этом файле вывести значение переменной, которая находится в report.php (например, $q['facility'] )?

В ответ на Евгения _

Re: Разработка модулей

от Dmitry Pupinin -
Евгения, еще раз повторяю - вам нужно создать КОПИЮ ПАПКИ, а не добавлять файлы! Мудл автоматически подгружает все файлы report.php и на ваш distract.php он внимания не обратит.
Ну а раз вы скопируете папку и будете редактировать report.php то вам будут доступны все переменные, которые там есть... подмигиваю
В ответ на Евгения _

Re: Разработка модулей

от Artem Andreev -
Изображение пользователя Эксперт по Moodle
Разбираясь в той куче строк улыбаюсь, обратите внимание, что некоторые значения вполне уже посчитаны при вычислении других метрик:
- Sx участвует в вычислении коэффициента дифферинциации и в коде находится в функции report_question_stats, по-моему, это $gsd;
- n1 - это фактически колонка "Число ответов" (вроде $q['rcounts'][$aid]), n присутствует в той же колонке ($q['count']), n0=n-n1;

М1 и М0 вроде только придется посчитать, дописав код в соотв местах...

Вам может даже проще просто добавить колонку в отчет "Анализ вопросов"? Я это в принципе хотел сделать (интересная метрика, хотелось поанализировать), только времени совсем не оказалось грущу
В ответ на Artem Andreev

Re: Разработка модулей

от Евгения _ -

Последовав Вашему совету была добавлена колонка в отчет "Анализ вопросов". Дело в том, что Sx  в данном случае подсчитывается для отдельно взятого вопроса, а мне необходимо подсчитать для всего теста в целом. И еще одно затруднение: как подсчитать М1 и М0, ведь необходимо знать средний балл тестируемых выбравших/невыбравших конкретный дистрактор, в report.php, если я не ошибаюсь такой информации нет.

В ответ на Евгения _

Re: Разработка модулей

от Dmitry Pupinin -
Так никто же не говорил, что все будет выложено вам на блюдечке... подмигиваю
Вся информация по попыткам есть в таблицах, так что вычислить можно все что угодно.
В ответ на Dmitry Pupinin

Re: Разработка модулей

от Михаил Пежемский -
помогите. Можите привести пример обновления кода модуля. Заранее сепасибо
В ответ на Михаил Пежемский

Re: Разработка модулей

от Dmitry Pupinin -
Не могу понять что вам нужно...

ЗЫ: Не пишите в разных темах одно и то же... лучше в одной напишите четко что вам нужно.
В ответ на Dmitry Pupinin

Re: Разработка модулей

от Михаил Пежемский -

Мне надо взять файл analysis/report.php внести в него какие-то изменения (по шагам все расписать) и обновить модуль (тоже расписать по шагам)

В ответ на Михаил Пежемский

Re: Разработка модулей

от Dmitry Pupinin -
Ну вот тут написано кое-что:
http://moodle.org/mod/forum/discuss.php?d=146100#p639167

Не представляю что тут можно расписывать... копируйте папку, открывайте файл и изменяйте то, что вам нужно. Он должен подхватиться автоматически.
В ответ на Dmitry Pupinin

Re: Разработка модулей

от Михаил Пежемский -

Ну, а что можно изменить к примеру? (не дистракторы).

Здесь http://docs.moodle.org/en/Development:Grades  есть пункт "Updating module code" Как понять эти функции?

В ответ на Михаил Пежемский

Re: Разработка модулей

от Dmitry Pupinin -
Да все что угодно меняйте... можете все удалить и будет у вас пустая страница... подмигиваю

Вы, насколько я понял, собираетесь отчет поменять. Отчет - это не модуль, это плагин к Журналу оценок. Предназначен для отображения информации (как и любой отчет) и ничего менять в журнале не должен.

То, что вы нашли в документации относится к модулям (Форум, Лекция и т.п.), которые должны СВОИ оценки помещать в Журнал оценок.

ЗЫ: Внимательно посмотрите на структуру папок Moodle. Там модули в одном месте, блоки в другом, аутентификация в третьем... и все станет немного понятнее.
В ответ на Dmitry Pupinin

Re: Разработка модулей

от Михаил Пежемский -

Спасибоулыбаюсь вот здесь файл http://tracker.moodle.org/browse/MDL-19054. Объясните как реализовать в moodle, пожалуйста.

В ответ на Михаил Пежемский

Re: Разработка модулей

от Dmitry Pupinin -
Ровно как написано в описании:
Скачать, положить в указанное место, применить патч.

Формат diff описан здесь:
http://ru.wikipedia.org/wiki/Diff
там же есть ссылки на утилиты позволяющие наложить патч.
В ответ на Dmitry Pupinin

Re: Разработка модулей

от Евгения _ -

Жаль, что на блюдечке нет Смешанный...

Вы можете тогда хотя бы намекнуть в каких именно таблицах искать данную информацию (больше всего интересует, как узнать балл тестируемого, выбравшего/невыбравшего анализируемый дистрактор), или источники, где можно поподробнее узнать про структуру таблиц в Moodle?

Заранее спасибо!

В ответ на Евгения _

Re: Разработка модулей

от Dmitry Pupinin -
Намекнуть я к сожалению не могу, т.к. для этого мне нужно понять что вам нужно и разобраться где это искать, т.е. фактически решить вашу задачу... а на это у меня, к сожалению, нет времени.

Могу только порекомендовать пару ссылок, благодаря которым, надеюсь, вы и сами сможете во всем разобраться:
http://docs.moodle.org/en/Development:Database_Schema
http://docs.moodle.org/en/Development:Question_database_structure
В ответ на Dmitry Pupinin

Re: Разработка модулей

от Михаил Пежемский -

Скажите, пожалуйста, как работает эта функция из файла quiz/analysis/report.php?

734  function stats_sumxy($data, $initsum){
       $accum = $initsum;
       foreach ($data as $v) {
           $accum[0] += $v[0]*$v[1];
           $accum[1] += $v[1]*$v[0];
       }
      return $accum;

В ответ на Михаил Пежемский

Re: Разработка модулей

от Dmitry Pupinin -
Ну очевидно что она принимает двумерный массив и подсчитывает произведения его строк.

По поводу перемены мест множителей думаю, что это просто шутка Густава... подмигиваю
В ответ на Dmitry Pupinin

Re: Разработка модулей

от Михаил Пежемский -
А как установить новый модуль в сетевом варианте Moodle? (кроме прав админимтратора) 
В ответ на Михаил Пежемский

Re: Разработка модулей

от Dmitry Pupinin -
Только администратор может устанавливать компоненты.
Сами подумайте что бы началось, если бы это мог каждый... улыбаюсь
В ответ на Dmitry Pupinin

Re: Разработка модулей

от Михаил Пежемский -

Я понимаюулыбаюсь а если есть права администратора?

В ответ на Михаил Пежемский

Re: Разработка модулей

от Dmitry Pupinin -
Скопируйте то, что нужно, туда, где оно должно лежать (зависит от того, что вы устанавливаете) и затем перейдите по адресу
http://mysite/admin (первая ссылка в блоке Администрирование)

Если компонент требует установки, то вы увидите процесс, если установка не требуется, то все заработает само собой.
В ответ на Artem Andreev

Re: Разработка модулей

от Евгения _ -

В колонке "Число ответов" указано сколько человек выбрало тот или иной дистрактор, а как можно узнать кто именно выбрал этот дистрактор (точнее оценку этого человека)?