Skip to main content
Participant
November 21, 2014
Question

Captivate 8 Random Quiz with Multiple Attempts

  • November 21, 2014
  • 4 replies
  • 3868 views

Hi,

I have created question pools and added the correct amount of random question slides to my main project and have now published. The user will have three attempts to pass this quiz. It seems that if the user fails the quiz the first time and retakes the quiz again, the SAME questions in the SAME order are appearing again.

My question is, Is there a way to ensure that on subsequent attempts, the user is seeing a different set of questions?

Thanks~

This topic has been closed for replies.

4 replies

IDBen
Participating Frequently
February 15, 2017

Hi bk32,

Had the same problem. Ended up adding a button on the review slide, and running the following Javascript from the button:

location.reload();

This reloads the page and generates a new set of questions.

Lilybiri​ do you foresee any issues with this solution?

Ben

Lilybiri
Legend
February 15, 2017

Never tested such a solution, you'll have to check the reporting to the LMS.

anastasiam
Inspiring
September 27, 2015

Here is an idea for having the user be able to repeat the quiz and have different questions come up on subsequent tries.  I’d love to see what you guys think.  It’s kind of a similar idea to the_b-man’s idea of having the same quiz 3 times in multiple SCOs… it’s the same quiz multiple times in a project.  It comes with a few caveats (like, best for small quizzes only) listed at the end.

Say you have a super simple situation, where you want 2 question pools with 2 questions in each pool. We are assuming you have to have 100% to pass.

Let’s say we want to give the user 3 attempts to pass what is essentially a 2-question test.

So you’ll need the original 4 questions, plus TWO copies of each of the questions.  Then separate them into pool1, pool2, pool3, pool4, pool5, pool6.

Pool1 and pool2 are for the first attempt.

Pool3 and pool4 are for the second attempt.

Pool5 and pool6 are for the third attempt.

Again, it’s probably fastest if you copy the questions before you start separating into the pools.

So pool1, pool3 and pool5 are identical.  Also, pool2, pool4 and pool6 are identical.

Insert the first 2 random question slides and link them to pool1 and pool2, respectively.  Set the score for each random question slide to 10 (in the properties for the RANDOM QUESTION SLIDE, not the questions themselves)

Put an intermediate slide where you will check their score using advanced actions attached to a button, or the onEnter, or whatever works for you.  More on what to check below.  If they got both questions correct, yay, jump to a success slide.  If not, Continue for a second attempt.

Insert the second 2 random question slides and link them to pool3 and pool4, respectively.  Set the score for each random question slide to 10 (in the properties for the RANDOM QUESTION SLIDE, not the questions themselves)

Put an intermediate slide where you will check their score. If they got both questions correct, yay, jump to the success slide.  If not, Continue on for a third attempt.

Insert the third set of 2 random question slides and link them to pool5 and pool6, respectively. Set the score for each random question slide to 10 (in the properties for the RANDOM QUESTION SLIDE, not the questions themselves)

If they got both questions correct, yay, jump to a success slide.  If not, this was the third attempt and go to a failure slide, or exit, or whatever.

What to put on the intermediate slides:

Make your own variables (maybe attempt1Score, attempt2Score, attempt3Score).

On the success for each random question slide1 and random question slide 2,  have an advanced action increment your attempt1Score by 10.

On the intermediate slide after quiz first attempt, check and see if attempt1Score=20.  If so, yay, if not, Continue on to next slide for another attempt.

On the success for each random question slide3 and random question slide 4,  have an advanced action increment your attempt2Score by 10.

On the intermediate slide after quiz second attempt, check and see if attempt2Score=20.  If so, yay, if not, Continue on to next slide for another attempt.

And so on for iteration 3.

The question from here is, how many attempts do you want to give?

I’ve built this for small quizzes, it’s a pain but it works.

Caveats:

  • Obviously you can’t have your quiz preferences set to something strict like ‘Answer All – User must answer every question before continuing’, since some of the questions will get skipped if your user passes the quiz on a first or second attempt.
  • From the perspective of time needed to build, as well as a final project getting big and unwieldy, it probably wouldn’t be very feasible for large quizzes
  • You may or may not want the user to be able to review their quiz, as it could easily get confusing which question in which attempt of the quiz they’re viewing.
  • By using your own variables to track scores on the various attempts of the quiz, the system var cpInfoQuizPointsScored does not reflect passing the random quiz. Could be good or bad, depending on your situation.  Easy to add in if you add a ‘continue’ button or something somewhere for 20 points (like on the congratulations page after the user's passed the quiz) with the  ‘included in quiz’ checkbox checked for 20 points.

I’ve built a way to track the score using a single user variable (or cpQuizInfoPointsscored) through all 3 attempts, and it works, but the math to figure out all the possible score permutations of if you got 0, 1 or 2 correct on each attempt is a brain drain. But if you want to know, I’ll tell you, heh.


I think individual variables for each attempt of the quiz is a lot easier.

It would be great if the knowledge check questions available in Cap 9 were able to be added to question pools.  Alas, they’re not.

Best of all, as stated by others, would just be if random question slides could show different questions on a Retake just out of the box.

RodWard
Community Expert
Community Expert
September 28, 2015

I suspect your approach would run into issues with some SCORM LMSs because they would be expecting the Interaction IDs to be matching for each attempt.  But since all quiz questions in Captivate must have unique interaction IDs, I suspect your approach would throw a spanner in the works.

Have you tried having this solution report to an LMS?

anastasiam
Inspiring
September 28, 2015

Thanks for your reply. Sorry, I’m not following the terminology, a spanner?

I have uploaded to Inquisiq, which is SCORM 1.2.  I’m able to see responses for individual questions and if it was correct or not, screenshot attached.

In the example mentioned above,  what I was really after was to just determine if the user passes the quiz at all…. Doesn’t matter if it was on attempt 1, 2 or 3.  When you do pass the quiz, you go to a congratulatory screen with a big button with 100 points attached to it.  That’s the only button in the ‘real’ quiz as far as Captivate is concerned.  Since you never get to that screen and click the button unless you ‘pass the quiz’, you can determine pass or fail in the quiz settings by if you get 100 points out of 100 points or not.

This is a pretty simplistic example, however.  I suspect what you’re after is properly tracking each question when it IS important to see how users did on individual questions…..?

Video of what it looks like in action is here too.  There's a small error in the video, on the screen after the 2nd attempt there's a text box that says 'Your score on attempt 1 is...'    It should say attempt 2.

Known Participant
December 16, 2014

Kinda defeats the whole purpose of drawing from multiple pools with random subsets and shuffling the questions, doesn't it?

Bk32, I'm trying to do the same thing. We're not alone, as I found a number of posts on this issue on various forums including Facebook, Stack Overflow and this one.


Not ready to give up on it yet, as there has got to be some sort of workaround for this dreadful bug.

I've tried forcing the user to exit (no retake button and individual slides for each outcome including 3 failure slides) and relaunch from the LMS with a flag var to let it know to go to the retake slide upon re-entry, but it still presents the same q's in the same order.

In order to get a fresh set of questions it appears that the page needs to be reloaded (which I thought was happening in the above exit/relaunch scenario).

I've created a homemade "retake" button that calls JavaScript:

window.top.location.reload(true);

Two problems with this approach:

      1. You have to forgo the resume (cmi.location), so learners have to start all over instead of returning to where they left off. Not good, as we have dozens of questions and the learner shouldn't be forced to one session.
      2. You lose track of the number of attempts as the variables are re-initialized upon reload. I tried assigning the cpQuizInfoAttempts system var to a numAttempts user var hoping it would persist, but both are reset upon reload.


Since we need the number of failures as a persistent var stored on the LMS server, I tried contacting Rustici support (since their scormdriver.js is used in Cp8) to see if I could use three objectives and use cmi.objectives.n.score.max (or cmi.suspend_data), and using JavaScript to get/set values <SCORM_CallLMSSetValue('cmi.suspend_data','');> but haven't gotten to solution yet.


The next workaround tack is to try and use a multi-sco course with three instances of the same assessment, each with one attempt, and have the course success show completed upon the pass of one, and failed upon failing all three assessments. The issue here is that, using one of the three out of the box templates such as Multiple SCOs, the scores are averaged. I'm going to go in the template code and hack it to try and get the max score instead of average.


Anyone? Bueller? Bueller?

bk32Author
Participant
December 18, 2014

Was your attempt at the multi-sco course successful? Were you able to get the highest score instead of the averaged score for multiple attempts?

Lilybiri
Legend
November 21, 2014

No, that is the way it is designed, sorry. To have a new set of questions you have to exit and relaunch the course.

bk32Author
Participant
November 24, 2014

Would a new set of questions generate if I removed the "retake" and "Exit" button?

Do you know if branching a quiz might have anything to do with not being able to regenerate a new set of questions for a quiz?

Thank you for your help!