Skip to main content
TVP_C5944
Known Participant
July 4, 2019
Answered

Partial points in quizzes - is there any way of awarding partial points (half points etc)?

  • July 4, 2019
  • 12 replies
  • 993 views

Hello,

I have a quiz with a question that requires participants to select a number of fields on a screenshot of some software. There are 21 fields on the screenshot, only 8 of which are right answers.

If the user correctly identifies all eight fields, I want them to score 1 point (it's a relatively easy question and I don't want them to get a disproportionately high score). However, I still want them to get credit (pro rata) if they only select some of them (selecting 7 of them would score 0.875 for example).

Since Captivate doesn't appear to allow for decimal values to be assigned as point scores, the obvious solution is to scale up my scores throughout the quiz to ensure the right weightings are applied.

The problem is this: if the user selects ANY incorrect fields, I want them to score zero for the question (so 6 right answers and 2 wrong ones would score 0, 8 right answers and 1 wrong one would score 0, and so on).

I can't use penalty points, because we'd need to know how many correct answers were selected to deduct the right amount and I don't want to facilitate potential negative scores.

I can easily use variables and advanced actions to establish a final score, but I understand it's not possible to manually substitute the system variable that holds the points scored with that value?

Am I asking the impossible?

    This topic has been closed for replies.
    Correct answer Lilybiri

    Not sure to understand, is this correct scenarioi?

    • All correct results in 1 point
    • Any incorrect results in 0points, doesn't matter how much are incorrect?

    In thatcase answer is easy.

    Create a counter, starting with 0, incremented by each correct click, decrement with wrong click. The answer should be judged correct only when the counter has the value 8.

    Create two Next (or Submit) buttons, both hidden in output. Attach a score of 1p to the first button, 0 to the second. Trigger a conditional action testing the counter and show the appropriate button.

    12 replies

    Lilybiri
    LilybiriCorrect answer
    Legend
    July 4, 2019

    Not sure to understand, is this correct scenarioi?

    • All correct results in 1 point
    • Any incorrect results in 0points, doesn't matter how much are incorrect?

    In thatcase answer is easy.

    Create a counter, starting with 0, incremented by each correct click, decrement with wrong click. The answer should be judged correct only when the counter has the value 8.

    Create two Next (or Submit) buttons, both hidden in output. Attach a score of 1p to the first button, 0 to the second. Trigger a conditional action testing the counter and show the appropriate button.

    TVP_C5944
    TVP_C5944Author
    Known Participant
    July 4, 2019

    Not quite, but your suggestion points at my only other idea...

    Your first bullet point should read 0.125 (so that all eight correct add up to 1, but they still get credit for only getting some of them - if they get four right they get half a point).

    At the moment, I'm giving each field a boolean variable which gets set to 1 when the field is selected.

    Then, when a Submit button is clicked, an advanced action checks how many are right (if any are wrong, this value is set to zero) and displays one of 9 Continue buttons that correspond to each possible score. I've applied points to each of those continue buttons.

    I've scaled up the points of all the other questions to keep things in proportion.

    Thanks very much for your help!

    Lilybiri
    Legend
    July 4, 2019

    Got it now, I forgot the third situation, where some of the correct hotspots had been clicked, none of the wrong ones.

    Without JS or using the CpExtra widget (InfoSemantics) I don't see a validt workflow.