Change state of button to complete only when all quiz questions in a section have been submitted

May 26, 2016

Hello

I'm setting up an online exam. There are three sections. I have set it up so that the student would go through one section, one question at a time, with only a submit button available on the question, answer the question, move onto the next in the section and then after the last question submitted, would be returned to the home page which will have triggered the button to change it's state to visited, with a star popping up showing the section as complete. 

However, the tutor would like the students to not have to answer the question right away. So replicating more a paper based exam, where you could read the question, go away and think about it, do some other questions and then come back and answer the question when ready.

So this means on each question I would have to have a previous and next button and a submit button. But the button on the home page now showing the visited star state won't work because the student might have only looked at the question in the section and not actually answered the question, meaning the section is actually not complete yet. Only when all questions have been submitted then the button on the home page would need to show a completed state with the star. I have messed around with some conditions and variables but haven't been able to get it right yet. 

Any suggestions would be greatly appreciated. 

12 Replies
Leslie McKerchie

Hi Sean!

Here is what our tutorial here suggests:

When you use Prev and Next buttons for navigation, it's easy for learners to skip questions without answering them. If they reach the result slide without answering all the questions, it'll negatively impact their scores. You may want to warn learners about skipping questions and ask them to confirm that they're ready to submit their answers before jumping to the result slide.

Hopefully others in the community will be able to chime in with ideas and suggestions.

Steve VE

Just as a thought experiment I'd tie the trigger to the submit button (and only the submit button) and have a trigger that checks for completion on the home page.

  1. Create variables for all your questions (question1complete, question2complete, question3complete, etc.).
  2. Set all the variables to false.
  3. When the user clicks submit, use a trigger to change the related variable to true. Make sure this is the first trigger for the submit button.
  4. On the home page, check if all the variables are true when the timeline starts. If they are, show the star.

While this should work, here are some issues you may want to think about for this type of interaction:

  • Are they receiving a star if they pass the quiz? Or only if they complete it? As it stands, they are receiving a star if they complete it, even if they get every question wrong. If they only receive the star if they "pass" the quiz you may be able to simplify matters by using a trigger with a results screen/score rather than individual variables for each question. Or possibly only change the variable to true of they answer correctly. Which may then lead to issues of helping them find both incorrect and incomplete questions.
  • What happens if they answer the question and then revisit it? Can they change their answer? If you don't want them to change their answer, use the variable for that question to disable the Submit button.
  • Will the user know why they aren't getting a star? If you have 20 questions in a section and they only skipped one how are they supposed to know where to look to get the star? Again, it may be possible to use your individual variables to redirect them to the first incomplete question but if they have more than one incomplete question things will be more complicated.

Just a few thoughts.

Sean Gainford

Hello

Thank you very much for your responses. I've now removed the submit button from all questions in section 1 and replaced with previous and next buttons so students don't have to do the question right away. 


However, I'm still struggling to get the state changed to a star when section is completed. Without having to do a variable for every question, I thought that there must be a way to attach it to the result slide of the section when reached and all results are submitted ...

On the home page I put a variable of completedsection1 equals false. I also added a trigger to change state of button to state with the star if variable Completedsection1 is equal to true. 

On the results slide I put down set variable Completesection1 equal to true when the timeline starts. 

That didn't work. I tried connecting it to the Menu button on the result slide to set to true when clicked but that didn't work either.

I've attached the template. Any recommendations? Also, would be good to lock down Section 1 also so the students can't go back into it once completed. 

Best regards,

Sean 

Steve VE

I think you're going to need the submit button. Otherwise they won't be able to submit their answer and will score 0 every time no matter what they select for the answer.

The sticking point here is "when a section is completed". What does this mean for your course? Is it "completed" when:

  • They answer all the questions and the score doesn't matter?
  • They see the results slide (which they can do without answering all the questions and the score doesn't matter)?
  • They pass the quiz (which they may or may not be able to do without answering all the questions)?

For the first one:

You need to be sure they've submitted an answer for all the questions. If you are allowing them to skip questions and/or leave the quiz before getting to the results screen you need to track that somehow. I could be wrong but the only way I see of doing that is using a variable for each question.

For the second one:

The suggestion by Leslie should work fine.

Or skip the results slide entirely (since score doesn't matter) and just have a final slide redirecting them to the home page and using the solution outlined below. Personally, I don't think this would make sense because they could just skip all the questions and still get a star.

For the third one:

You can use the pass/fail layers on the results slide to redirect them to the home screen (pass) or through the quiz again (fail). On the "pass" layer, add a trigger to set a "pass" variable to true. On the home page, add a trigger on timeline start to check if the "pass" variable is true. If yes, change the state of the star. 

Leslie McKerchie

Hi Sean!

Thanks for sharing your file and allowing us to take a look.

Your trigger to change the state on the Text Box 5 to Completed just needed to be set to when the timeline starts vs when the variable changes - that's happening on a different slide, so it doesn't know. Now read it as - change the state on x when I am on this slide if Section x is completed.

In addition, you mentioned locking Section 1 - if you adjust your trigger to jump to the section only if that section is still false, then it will work.

I've attached your updated file - you can see the new triggers on slide 1. Hope that helps.

Steve VE

You can have as many quizzes as you like but Articulate can only submit one quiz to an LMS. You may need to have a "final exam" that is sent to the LMS. This causes a few wrinkles.

For the section quizzes

Assumption: All three section quizzes include questions that can be skipped/revisited but still require a passing score before they earn a star. The learner can take the quiz as often as they need to until they pass it.

Recommendation: Option 3 above and allow them to take the quiz as often as required.

For the final exam

Assumption: The "final exam" includes questions that can be skipped/revisited with the final score being submitted to the LMS.

Recommendation: Use Leslie's solution. Personally, I'd still track if they answered every question and present a warning based on how many they've answered (e.g. You did not answer all the questions. This will negatively impact your score etc. etc.). I might instead use a simple counting variable here, though. For example, have a variable (questionsAnswered) and add 1 to that variable every time they submit a question (i.e. click the submit button). At the end I'd add a trigger to check if all questions had been submitted (e.g. if questionsAnswered < 10 show warning message if = 10 show results slide or something like that).

Sean Gainford

Hello Everyone

I hope you are well and still excited to help me on this very interesting quiz template I'm making, or we are making actually :-)

Storyline only being able to submit one results to the LMS makes it all the more exciting :-). So far, everything, mostly ... is now working quite nicely. Students are able to go through each section, not have to answer the question right away, when they finally submit for the section it triggers the section result slide and they are taken back to the main menu which changes the state of the section button to complete and they are no longer able to go back into that section. However, I have two issues now:

1. Getting it all into one master result slide so as to submit one result to the LMS. The quiz should be a maximum grade of 100, with each question weighted the same, and hopefully the LMS will recognise the users score, whether it is a score of 70%, 100% etc.  I have set section result slides to not show the student anything except the message you have completed the section, for we don't want the students to know how they have done until the teacher goes into the LMS to look at the marks, and will then contact them later about their score. The result slide sections I have down at the moment to calculate by question, which I think is correct if I want to attach all the results slides to a master result slide, the master result slide I would imagine then be calculated by  "Selected Result Slides" and "Combine Points from each quiz". 

Now, where would the master result slide go and how to trigger it? Because the quiz is setup as to allow the student to submit any section they want, not necessarily in the correct order, I can't put the Master result slide after section 3 has been completed attached to the Menu button. I imagine then somehow put it on the Welcome page and when all states show complete then trigger the master results slide, which then tells Storyline to tell the LMS that only this master result slide is the one result to submit and not the other result slides? I'm not sure exactly how this works or how to create this. Any ideas?

2. Layer on the Welcome tab not showing. I have a layer on the welcome tab called Nice Job that is supposed to show when all section buttons are equal to Completed, but this is not being triggered. Looks to me all settings are correct so not sure what is going wrong there. Any ideas?

Also, anyway to delay the showing of a layer? Would be good for the students to see all stars on the home page for a second or two before the Nice Job layer shows.

An idea is to potentially get rid of Nice Job Layer and create a master result slide in another scene which would be triggered and show text Nice Job, when all button states on Welcome slide are equal to Complete ... 

I've attached the latest version.  

Best regards,

Sean 

Steve VE

I am not an expert but here are my thoughts on the first one:

It does not matter what you display on the results slide as long as the fields and triggers are somewhere. I would move the fields (pass/fail, percentage, review, etc.) off the stage where the learner won't see them and display whatever message I feel like. This way the learner doesn't see the results but they are still communicated to the LMS.

Knowing this, you can call the master results slide however you like and wherever you want. Maybe when all three section quizzes are complete, show a button to "complete the course" so they can visit a page that acknowledges the completion of the course? Again, on this slide, all the grading info would be moved off the stage and the triggers would remain intact. You could also possibly use a lightbox slide that loads the master results slide automatically when all the sections are completed.

For the second, you should place your "If CompletedSectionX" triggers before the validation trigger. Otherwise, the validation will happen before all three are set to complete. In other words, one of the sections isn't be set to "complete" until after you've check if all three sections are complete.

Hope that helps.

This discussion is closed. You can start a new discussion or contact Articulate Support.