Complex scoring schemes

Working with Media (graphics, audio, video) & other Assets

Moderator: Nav

Complex scoring schemes

Postby tahiya » Tue Jul 17, 2012 10:08 am

I have a cram-jammed lesson with activities out the ears and I want to score the activities by how many times the "good" feedback appears and penalize for "bad" feedback notices, and I want the scoring to aggregate across the lesson and the final score used to determine certificate status

I have a SCORE text field on the home page that is visible throughout the lesson. I've set up a global variable to collect the aggregate score.

Now I need conceptual help. Do I create a local variable for every activity, collect the points and then dump them into the Global points bucket? If so, how do I show the learner the score before they move to the next page, rather than on loading of the next page?

Or do I just have each page of activity just add constantly to the global Points bucket? What do I need to be careful of if that's happening?
play, play, play
tahiya
 
Posts: 116
Joined: Thu Apr 14, 2011 3:12 pm

Re: Complex scoring schemes

Postby tahiya » Tue Jul 17, 2012 2:41 pm

Help. Need to figure out how to get the score to update to a text box on the Master page from the activities in the succeeding pages, but I can't find a working trigger. Maybe I don't know how to use Global EVent properly? OnPageLoad or page change isn't what I want because I want the learner to see the score box update as they work.

Right now I have a global variable collecting and adding points from activities either directly or from having the number passed from a local variable to the page. I need to know how to make the score show up on the bottom of the page when that text field is housed in the master page.
tahiya
 
Posts: 116
Joined: Thu Apr 14, 2011 3:12 pm

Re: Complex scoring schemes

Postby Nav » Wed Jul 18, 2012 3:43 pm

Hi Tahiya,
Updating text object =======================================================
To update your text object, you're right, you need a good trigger for this. Are there events on the page that could trigger this? You could create globalEvents to do this. For example, on page 8, let's say you have some activity that ends with a display a showing (let's call it End Display). Then you would create the following action on page 8...

Trigger: Display Set > End Display > onShow
Response: Page Controller > fireGlobalEvent > updateScore

Then on your Master Page, you create an action that catches that globalEvent and updates the score.

Trigger: Page Controller > onGlobalEvent
Condition: Page Controller > getGlobalEvent == updateScore
True Response: (update the score from variable)
False Response: (leave blank)

That's the general idea. Your trigger on your regular pages (e.g., page 8 ) would vary depending on the activity on that page. But you could reuse the globalEvent (so you have lots of regular pages firing the globalEvent, but only that one action on the Master Page catching it).

Alternatively, you could also have a timer on the Master Page that updates the text object every 5 seconds. Or every 1 second.

Trigger: Timer > onTimeZero
Response: (update the score from variable)
Response: Timer > reset
Response: Timer > continue

Combining scores =======================================================
As for your other question, it's probably not a good idea to always add directly to your main score. If your learner did the activity on page 5 a bunch of times, each time would add on to the score and they might get over 100%, even if they fail everything else in the lesson. It's a better idea to create a global variables for each activity and setValue on those every time they complete an activity. Then when you update the score, you can add all the variables together in the main score variable and display it.

Think of it as buckets of rocks. If you only have one bucket, and they get 10 rocks on page 5 and then keep repeating it, eventually your bucket will overflow. If you have separate buckets and they repeat page 5, you dump out the rocks in the page5bucket and replace it with the new number of rocks. Then when you calculate the total score, you combine page5bucket, page6bucket, etc into one and count them all up. ...now I want to build a sand castle.

Let me know if that helps. If more specifics are needed we might want to do a gotomeeting, or if you can tell me the name of the lesson, I can take a look and record a video. It'll be easier to understand with a concrete example.

- Nav
Nav
 
Posts: 866
Joined: Mon Nov 05, 2007 2:58 pm

Re: Complex scoring schemes

Postby tahiya » Thu Jul 19, 2012 9:35 am

Thanks Nav. Very educational. What I was thinking of doing to stop the ability to rework the same activity to gain points was to place a shield at 0 opacity over the interactives that would show up with that last display item like your explanation of the trigger global event.

Thanks

bit l8r
So the concept of the global event seems to be escaping me. I set it up the way you say above. What I'm not getting is where did I create the global event to BE something. All I've done is call something by a name and indicated that it's a global event but I don't see where I told that name to make anything happen. "updateScore" isn't any action so how does it become something that's done? What exactly got "fired"?

Trigger: Display Set > End Display > onShow
Response: Page Controller > fireGlobalEvent > updateScore
Then on your Master Page, you create an action that catches that globalEvent and updates the score.
Trigger: Page Controller > onGlobalEvent
Condition: Page Controller > getGlobalEvent == updateScore
True Response: (update the score from variable)
False Response: (leave blank)
play, play, play
tahiya
 
Posts: 116
Joined: Thu Apr 14, 2011 3:12 pm

Re: Complex scoring schemes

Postby Nav » Thu Jul 19, 2012 10:33 am

Hi Tahiya,
If you have a way of keeping them from returning to the page, that would work, too.

Regarding the buckets of rocks, you have two choices. If you're only calculating the score for that particular activity at the end of said activity (say at the end of a quiz, or Drag and Drop > onAllDropped), then you can use the setValue. That will replace whatever the previous score was with the new one. Because you're not using "add", it doesn't matter what the value was before. If you had a score of 70, and you setValue to 20, the new value will be 20.

Alternatively, you could just create an action that sets the value to zero when they begin the exercise (when they click begin, or they start dragging their first drag item, or answer their first question).

- Nav
Nav
 
Posts: 866
Joined: Mon Nov 05, 2007 2:58 pm

Re: Complex scoring schemes

Postby tahiya » Thu Jul 19, 2012 10:34 am

I think to keep the learner from going back and redoing activities to add points I can create a page load trigger that checks the main score total. If it's over the passing score at that point, then I could display a message that covers the activity with a transparent shape and says they've already done this activity they need to move on.
Last edited by tahiya on Thu Jul 19, 2012 10:55 am, edited 1 time in total.
play, play, play
tahiya
 
Posts: 116
Joined: Thu Apr 14, 2011 3:12 pm

Re: Complex scoring schemes

Postby tahiya » Thu Jul 19, 2012 10:39 am

Nav wrote:Hi Tahiya,
If you have a way of keeping them from returning to the page, that would work, too.

Regarding the buckets of rocks, you have two choices. If you're only calculating the score for that particular activity at the end of said activity (say at the end of a quiz, or Drag and Drop > onAllDropped), then you can use the setValue. That will replace whatever the previous score was with the new one. Because you're not using "add", it doesn't matter what the value was before. If you had a score of 70, and you setValue to 20, the new value will be 20.

Alternatively, you could just create an action that sets the value to zero when they begin the exercise (when they click begin, or they start dragging their first drag item, or answer their first question).

- Nav


Yeah, I thought about that. What I want though is for them to see an aggregating score with every action they complete, which means I do have to ADD that activity variable, even though it's set not added there, to the main score, which has to be added. So ostensibly they could get the page reloaded and do an activity again and again and just keep adding to the aggregate score, even though the variable containing the activity score is continually refreshed. Also, I don't want to lock them into forward only. They should have the freedom to wander around where ever they want. I think the page load with the message is good, because while it still lets them go back, it won't let them go over and that's a way to get them to do at least 75% of the activities which is the score they'll need to get the cert.
Last edited by tahiya on Thu Jul 19, 2012 10:57 am, edited 2 times in total.
play, play, play
tahiya
 
Posts: 116
Joined: Thu Apr 14, 2011 3:12 pm

Re: Complex scoring schemes

Postby Nav » Thu Jul 19, 2012 10:50 am

HI Tahiya,
The idea behind globalEvents is like shouting. Think of it as a construction site and one construction worker (who is out of sight) is shouting to her other coworkers. She's on page 5 and she's shouting "hey, updateScore!" (Response: Page Controller > fireGlobalEvent > updateScore.

The Master Page action is another construction worker listening for shouts (Trigger: Page Controller > onGlobalEvent).

When it hears someone shouting, it says, "Hmm, what are they saying? Are they shouting about the one thing that I care about (updating the score)?" (Condition: Page Controller > getGlobalEvent == updateScore). If so, then it does the stuff it's supposed to (the various Responses to update the score).

Another construction worker might be hanging around listening for something else. It perks up when it hears the shout, but since the shout doesn't pertain to them, they don't do anything (they were listening for "disableNext").

So globalEvents are not an object. They are more like commands being shouted.

- Nav
Nav
 
Posts: 866
Joined: Mon Nov 05, 2007 2:58 pm

Re: Complex scoring schemes

Postby tahiya » Thu Jul 19, 2012 10:56 am

Neat explanation. Thanks.
play, play, play
tahiya
 
Posts: 116
Joined: Thu Apr 14, 2011 3:12 pm

Re: Complex scoring schemes

Postby Nav » Thu Jul 19, 2012 11:25 am

tahiya wrote:Yeah, I thought about that. What I want though is for them to see an aggregating score with every action they complete, which means I do have to ADD that activity variable, even though it's set not added there, to the main score, which has to be added. So ostensibly they could get the page reloaded and do an activity again and again and just keep adding to the aggregate score, even though the variable containing the activity score is continually refreshed. Also, I don't want to lock them into forward only. They should have the freedom to wander around where ever they want. I think the page load with the message is good, because while it still lets them go back, it won't let them go over and that's a way to get them to do at least 75% of the activities which is the score they'll need to get the cert.


Hi Tahiya,
The totalScore is recalculated each time. That's the whole point of the smaller buckets. Every time you recalculate, it's setting the totalScore back to zero, then it's adding what they got for Activity1, Activity2, etc. Erm, this is getting harder and harder to discuss without an example, so here's a video - http://screencast.com/t/6Y6s4vSA

I'm not sure if that clarifies anything that you didn't already know.

- Nav
Nav
 
Posts: 866
Joined: Mon Nov 05, 2007 2:58 pm

Re: Complex scoring schemes

Postby tahiya » Fri Jul 20, 2012 1:03 pm

OK. I'll play around with it.

The video was helpful.
play, play, play
tahiya
 
Posts: 116
Joined: Thu Apr 14, 2011 3:12 pm


Return to Media & Assets

Who is online

Users browsing this forum: No registered users and 2 guests

cron
Not able to open ./cache/data_global.php