How to remove a question from the bank once it has been randomely chosen.

I have a 300 question bank of questions. I select questions from the bank when the learner takes the test. If the learner fails, I don't want him to see the same questions again so I want to remove it from the bank. Is there a way to do that?

Discussion (10)

Just curious, but how many opportunities does the person have to take the quiz and how many questions at a time. How often do you plan on removing the questions? Wondering why remove the questions, if randomized.

learners have 3 chances to pass. they are presented with 100 questions at a time. Once a question is presented, I don't want them to see the same question again.

I don't think what you're looking to do is natively supported within Lectora's test functionality...

The simplest method I can think of to achieve this is to set a variable for each question page (OnShow, set Q1_Visited to true) and then place another action before it (if Q1_Visited == true, GoToNextPage).

This would work, but presents multiple challenges:

  • You'd need to set this up for each of the questions (300 is a lot)

  • This wouldn't take into account the selected question pool size - if the test is set to select 10 questions from the overall pool, an already visited (and thus skipped) question would still count towards that 10 and potentially mess up scoring

  • There would be a brief flash/loading delay as a "skipped" question page is loaded and shunted to the next page

  • If the learner failed the quiz too many times, eventually ALL questions would be skipped and they wouldn't be able to pass

Any other ideas, people? It would be great if Lectora had more refined controlling over test questions.

An easy way to achieve something pretty close would be to split the pool in three, i.e. 3 separate tests each with a pool of 100. If the first is failed send the user to the second. You may use a random value to decide which of the 3 is the test to begin with.


"how many opportunities does the person have to take the quiz" - 3

"how many questions at a time" 100

"How often do you plan on removing the questions" - once - how would I remove it more than once?

"why remove the questions, if randomized" to ensure they don't see the same question twice.

@timk, your solution (3 100 question tests) would mean that each individual test would lack question pooling. That is, every student would get the same questions on test 1.

@aoswald How much time do they have to complete the exam? Are the questions TF, Multiple choice?

@timk I think using 3 different tests may be the best solution.

@v01d I thought of using variables to do what you are suggesting but I think that would screw up the scoring.

The randomization part is a little weaker than the original idea, but it makes sure no question is shown twice and each attempt has 100 questions. You can still randomly select 100 of 100 to have a random sequence of the questions. With a random value of 1, 2, 3 it would be possible to let the users start with different tests. There should be no big difference between this and the original idea from user perspective.