Calculations

Aug 06, 2019

At  our corporation, it is essential our claims analyst price claims correctly every time.

We test them with a math question bank/check on learning in Storyline 360- where they use equations and a text box to fill in the answer.

Management needs to know how far off the test taker is when they miss a math questions (below or above the correct number).

I think this involves a random number variable, but have no idea how to write one.

Anyone else have this experience and if so, how did you solve it?

Cindy V

 

4 Replies
Brian Allen

Cindy - are you saying that mgmt needs to see the learners answer vs what the correct answer should have been? That would essentially provide you with the analysis of how far off they were.

If this is the case, that data should be stored in your LMS and is just a matter of working with your LMS vendor to report on the data.

Here's a quick kb article on what exactly is sent to your LMS from a quiz - https://articulate.com/support/article/quiz-data-sent-to-an-lms-in-articulate-storyline

Rachel Fischer

I'm on Cindy's team. We know that we can view it in the SCORM data from the LMS, but that is a lot of manual work. We are going to have 25 math questions and would love it if it could take how far they were off on each question and add those together to show us in the scorm that on all 25 questions, they were this amount off.

For example, they get question 4 and 27 wrong. The correct answer for 4 is $32 and they put $42. The correct answer for 27 is $3 and they put $8. We would want the final score to show us that they were off by $15 total.

Is there a variable for this?

Brian Allen

oof... this sounds like math, I hate math :)

I can't say that this couldn't be done, because I think it could be. If we knew all the answers entered would be either: Under the correct score or Over the correct score, this would be easier, but the fact that the student answers could be BOTH Over or Under makes it more difficult. You almost need some javascript maybe to compare the student answer with the correct answer, then either add or subtract it from a "master" variable that would be used to track how off the total the student was.

After you figure out the variables, you'd have to include them in the SCORM data sent to your LMS using this method - https://articulate.com/support/article/Storyline-360-How-to-Send-the-Value-of-a-Variable-to-an-LMS

Here's a tutorial from Matthew Bibby on implementing that method - https://matthewbibby.com/variablelms/

I feel like I'm rambling... this kind of makes sense in my head but I'm not exactly sure where I'd start with it.

I do feel like I'd probably lean more towards pursuing a more robust reporting option from my LMS to leverage the data that's already there.

Maybe someone from the community will chime in here with more smarts around these math variables than me.

Hope this helps!

Andrew Korobeynik

Hello! This is an old discussion, however it challenged me. I became interested in how this functionality can be implemented and I came up with several solutions. Perhaps it will be useful to someone.


If we needs to know how far off the test taker is when they miss a math questions (below or above the correct number).
(Suppose the user first gave an answer 3 units less than the correct answer, then 2 more than the correct answer, in total we get an «Final Deviation = -1»)
We need Num variables:
UserAnswer1, CorrectAnswer1, Tally1, TotalResult1.
Ok, on first slide user typed Answer in UserAnswer1, and click button.

Triggers for Button:
Set Tally1=UserAnswer1 (or CorrectAnswer1, If you want to get negative numbers if the user error is higher than the correct answer)
Subtract CorrectAnwer1 from Tally1
Add Tally to Total Result1
Set Tally1 = 0
Change State of button to Disabled


And for other slides we can use Tally1, TotalResult1, and change only CorrectAnswer(2,3….) and UserAnswer (2,3…..)

In the example file, I slightly modified the trigger script.
Each slide of the question counts a separate PreResult instead of TotаlResult. And TotalResult is considered separately. I did this in case the student goes back to the question slide and changes the answer.Don’t forget use set each PreResult=0 at the start of Triggers!

Then, after that we can use Java to set cmi.objectives and send them to LMS,
var player = GetPlayer();
var result1 = player.GetVar("TotalResult1");
lmsAPI.SCORM2004_CallSetValue("cmi.objectives.0.id","Resultat1");
lmsAPI.SCORM2004_CallSetValue("cmi.objectives.0.score.raw", result1);


//(also, you can add a status and completion of objectives.)

lmsAPI.SCORM2004_CallSetValue("cmi.objectives.1.completion_status","completed");
if(result1=0){
lmsAPI.SCORM2004_CallSetValue("cmi.objectives.0.success_status","passed");
}
else{
lmsAPI.SCORM2004_CallSetValue("cmi.objectives.1.success_status","failed");
}

Or use that method to send answers in cmi.interaction (As I understand it, not all LMSs allow you to see cmi.objectives):
https://articulate.com/support/article/Storyline-360-How-to-Send-the-Value-of-a-Variable-to-an-LMS 
I change each slide with Question to Freeform Text Entry Interaction and use NumEntry as Field to Evaluate. If you Submit Interaction users can’t change answer without Reset Result triggers. But, Attention! Users can’t type answer in NumEntry field on the slide on which the button was clicked to run this trigger! It took me a long time to realize this.

I think this is a bug. Place the reset button on the next slide or on the results slide.

Unfortunately when I try to use that method to take a report from numerous of text-entry field (I want to collect student comments on their mistakes on one slide) and created separate slides with interactivity it seems that this method does not work as we would like:
1) If you just change the "submit button" trigger, then the text entry value does not change to triggered value (the triggers are in the correct order!). You must remove the trigger for the Submit button and add your own Submit trigger and «Jump To Next Slide when timelines start» trigger.
2) You cannot totally hide slides this way. They still appear for a split second

If we need only in module of value, we must change triggers and add some new variables.
(Suppose the user first gave an answer 3 units less than the correct answer, then 2 more than the correct answer, in total we get an Mistake = 5)


Set TallyAbove=UserAnswer1 if UserAnswer1>=CorrectAnswer
SetTallyBelow=Correct Ansnwer1 if UserAnswer1<=CorrectAnswer
Subtract CorrectAnwer1 from TallyAbove if UserAnswer1>=CorrectAnswer
Substract UserAnswer 1 FromTallyBelow if UserAnswer1<=CorrectAnswer
AddTallyAbove to TotalResult
AddTallyUnder to TotalResult
Set TallyUnder = 0
SetTallyAbove=0
Change State of button to Disabled

Alternatively, you can output the numerous of collected cmi.objectives to one slide.
Use new var (or text and num entry fields): num var Summa1 to Result and Description1 to students’ comments.
var player=GetPlayer();
var Summa1=lmsAPI.GetObjectiveScore("Resultat1");
var Description1=lmsAPI.GetObjectiveDescription("Resultat1");

player.SetVar("Summa1", Summa1);
player.SetVar("Description1", Description1);

And print it as PDF
window.print ();

Enjoy!
As a bonus, there is a calculator inside the course!