Moodle

Synchronizing calculated questions within a quiz

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Won't Fix
  • Affects Version/s: 1.9.5
  • Fix Version/s: None
  • Component/s: Questions, Quiz
  • Labels:
    None
  • Environment:
    Problem is not related to this environment, but with Moodle software (Currently using Windows XP (SP2), and Internet Explorer 7)

Description

NOTE: Please contact Debbie Rhodes and Warrick Milne (Moodle Administrators, University of Southern Queensland, USQ, Australia)... MEC2402 is an Engineering subject that teaches "Stress Analysis" using Moodle. You can contact me directly via Email, so I can give you a Username and Password to access my MEC2402 website, so you can see the limitations I am talking about, and test or edit the "Practice Quiz" questions yourself...

http://usqstudydesk.usq.edu.au/course/view.php?id=5934

Please see "Week 12" : "Practice Quiz 3"

http://usqstudydesk.usq.edu.au/mod/quiz/view.php?id=143650

ISSUES:

In Semester 1, 2009, approximately 10 calculated Moodle questions were developed for each
"Online Practice Quiz" which preceded each major assignment. These quizzes were successfully
used by students to develop skills in answering questions that were similar to assignment questions,
although only a small percentage of students bothered to attempt these online quiz questions, most
likely because most full-time students were very busy with other assignments and subjects.
At present, there are serious limitations in Moodle's calculated quiz question editor, because related
questions are unable to choose the same set of "input variables" (or the same "dataset") if there is
more than 1 dataset. (I have even tried all types of "shared" and "private" dataset combinations)...
It is currently impossible to create "pseudo random" number inputs or datasets for each student and
use them in subsequent related questions (which need to use the same variable values) because
Moodle chooses a completely different random dataset for each question (ie. a completely different
set of random variables). Hence, the only way to use the same "dataset" that can be used by all
questions in a calculated quiz, is to have only 1 dataset (one set of variables) which are the same
variable values that must be used by ALL students. Hence, it is impossible to provide completely
random variable inputs for each individual student and set up related questions that use the same
output results (or even input variables) of previous questions, since Moodle will choose a different
data set for each and every different question, rather than using the same starting dataset... (which
is what I want!)

In simple terms, you can set up calculated quizzes, where answers to a question can be used in
future related questions, but ONLY if you have ONE dataset (or one group of input variables), which
means that all students can only use the same one dataset, and this is not good for security reasons,
since students could easily copy the right answers from each other if one student happens to get the
correct answer and shares this with others. It is currently impossible to set up related questions that
use the same starting dataset while simultaneously having several datasets of random numbers for
each question, to ensure that each student gets a different dataset. The way Moodle works now... is
it needs multiple datasets (several, usually dozens) and picks only ONE dataset out of all of these
datasets for each student, to simulate "randomness" or uniqueness of starting variables for each
student... unfortunately, Moodle applies this randomness to every single question asked, and cannot
stick to the same dataset for related questions, so that questions can use the same starting variables
as previous questions (ie. where you just 'snowball' or grow your solution equation, by
incorporating, or using equations from previous questions inside bigger solution equations that use
the same dataset)... Take a look at the "Practice Quiz" questions for MEC2402 (Stress Analysis) to see
what I mean... This is a programming "bug" or limitation of Moodle that I had highlighted last year,
but I am still waiting for this to get fixed.

In the meantime, until this serious "inability to use the same starting dataset over several related
questions" problem is fixed, it will be impossible to create reasonably secure online assignment
testing conditions involving questions that rely on solutions from previous questions. Most of the
Assignment and Exam type questions for MEC2402 use the results of previous questions, and since
Moodle cannot consistently use the same dataset (of input variables) when there is more than one
dataset available (which is necessary for achieving pseudo-randomness by selecting a unique dataset
for each student), then each related question will use a different dataset (different input variable
values) and will be completely unrelated to previous questions. Using just ONE dataset for all
students, so that all related Moodle questions will share the same input variables, is unacceptable,
due to security reasons. Therefore, until this problem is fixed, the MEC2402 online quiz questions
should only be used as non-assessed "supporting quizzes", and should not be used as assessed
online assignment questions, as it is very easy for a student to know that he/she got the right
answer, and pass on the solution to friends and peers enrolled in MEC2402.

Once this Moodle problem is fixed, where related questions in a quiz can consistently use the same
dataset (of starting variables) and where each student can be given a unique and different starting
dataset (or random variable values) which can be used in subsequent related questions, then it will
be reasonably safe to trust online calculated question marking...

Issue Links

Activity

Hide
Tim Hunt added a comment -

Pierre, I can't tell if this is a useful bug report, or just a rant. Anyway, assigning to you becuase it related to the calculated question type. Thanks.

Show
Tim Hunt added a comment - Pierre, I can't tell if this is a useful bug report, or just a rant. Anyway, assigning to you becuase it related to the calculated question type. Thanks.
Hide
Pierre Pichet added a comment -

This is a current limitation of the calculated question type as there is no actual mechanism to synchronize the questions in a quiz.
this duplicate MDL-17278.

Show
Pierre Pichet added a comment - This is a current limitation of the calculated question type as there is no actual mechanism to synchronize the questions in a quiz. this duplicate MDL-17278.
Hide
Pierre Pichet added a comment -

As a temporary patch you could change in question/type/datasetdependent/abstracqtype.php
line 43
// Choose a random dataset
$state->options->datasetitem = rand(1, $maxnumber);

by $state->options->datasetitem = intval( $maxnumber * substr($attempt->timestart,-2) /100 ) ;
if ($state->options->datasetitem < 1) { $state->options->datasetitem =1 ; } else if ($state->options->datasetitem > $maxnumber){ $state->options->datasetitem = $maxnumber ; }
As long as you use category shared datasets, you should have same values in each question.
You can find an example on
http://132.208.141.198/moodle_19/
log as user: moodle pw:moodle

Preview test synchronize MDL-19519 in Moo_19 course.
and do the tests you need...
Just note that the synchronization will then be a general feature of calculated questions.

Synchronization is on my to-do list of next fall.

Show
Pierre Pichet added a comment - As a temporary patch you could change in question/type/datasetdependent/abstracqtype.php line 43 // Choose a random dataset $state->options->datasetitem = rand(1, $maxnumber); by $state->options->datasetitem = intval( $maxnumber * substr($attempt->timestart,-2) /100 ) ; if ($state->options->datasetitem < 1) { $state->options->datasetitem =1 ; } else if ($state->options->datasetitem > $maxnumber){ $state->options->datasetitem = $maxnumber ; } As long as you use category shared datasets, you should have same values in each question. You can find an example on http://132.208.141.198/moodle_19/ log as user: moodle pw:moodle Preview test synchronize MDL-19519 in Moo_19 course. and do the tests you need... Just note that the synchronization will then be a general feature of calculated questions. Synchronization is on my to-do list of next fall.
Hide
Pierre Pichet added a comment -

Other comments will be done on MDL-17278

Show
Pierre Pichet added a comment - Other comments will be done on MDL-17278
Hide
Chris Potter added a comment -

I know we're thinking along the same lines of a system Sam discussed above. Here is an example of a system that does what we are looking for:

http://capa2.phy.ohiou.edu/res/ohiou/ccliphys/dcCircuits/resistors/25_3equal_res_p_1_s2.problem

Notice these features:

1.) Multiple dataset variations available
2.) Single question format (versus additional questions from shared dataset)
3.) Multiple answers from original dataset

I personally still like the way the multiple calculated questions code (Pierre - Link below) was going, but I assume then that there were some limitations or a lack of flexibility for some reason that made that idea fizzle out.

http://moodle.org/mod/forum/discuss.php?d=74021

If there's anything we can do to assist with any of this, we'd be happy to contribute some time.

Show
Chris Potter added a comment - I know we're thinking along the same lines of a system Sam discussed above. Here is an example of a system that does what we are looking for: http://capa2.phy.ohiou.edu/res/ohiou/ccliphys/dcCircuits/resistors/25_3equal_res_p_1_s2.problem Notice these features: 1.) Multiple dataset variations available 2.) Single question format (versus additional questions from shared dataset) 3.) Multiple answers from original dataset I personally still like the way the multiple calculated questions code (Pierre - Link below) was going, but I assume then that there were some limitations or a lack of flexibility for some reason that made that idea fizzle out. http://moodle.org/mod/forum/discuss.php?d=74021 If there's anything we can do to assist with any of this, we'd be happy to contribute some time.
Hide
Pierre Pichet added a comment -

The discussion will be continued on MDL-17278.

Show
Pierre Pichet added a comment - The discussion will be continued on MDL-17278.
Hide
Michael de Raadt added a comment -

Thanks for reporting this issue.

We have detected that this issue has been inactive for over a year has been recorded as affecting versions that are no longer supported.

If you believe that this issue is still relevant to current versions (2.1 and beyond), please comment on the issue. Issues left inactive for a further month will be closed.

Michael d;

lqjjLKA0p6

Show
Michael de Raadt added a comment - Thanks for reporting this issue. We have detected that this issue has been inactive for over a year has been recorded as affecting versions that are no longer supported. If you believe that this issue is still relevant to current versions (2.1 and beyond), please comment on the issue. Issues left inactive for a further month will be closed. Michael d; lqjjLKA0p6
Hide
Michael de Raadt added a comment -

I'm closing this issue as it appears to have become inactive and is probably not relevant to a current supported version. If you are encountering this problem or one similar, please launch a new issue.

Show
Michael de Raadt added a comment - I'm closing this issue as it appears to have become inactive and is probably not relevant to a current supported version. If you are encountering this problem or one similar, please launch a new issue.

People

Vote (1)
Watch (6)

Dates

  • Created:
    Updated:
    Resolved: