Is there any way to store a pre test score in SCORM 2004

415 Views Asked by At

Is there any way to store a pre test score in SCORM 2004. I have developed a module in actionscript 2. The pre test and post test uses the same question set.

The client is now demanding that the pre test scores should also be stored along with post test. Is there any way it can be done. Which value should / can I set for this.

I have spent last two days trying to find a solution to this. Is there any way to set a custom variable? or is there any pre set variable name that I missed?

2

There are 2 best solutions below

0
On

It sounds like you're trying to put the pre-test and the post-test in the same SCO. The cleanest way to report separate pre and post test results would be to put the pre and post tests in their own SCO, by editing your packages imsmanifest.xml file. (see more on content packaging here: http://scorm.com/scorm-explained/technical-scorm/content-packaging/) You can link back to the same content multiple times in the same manifest and include query string parameters which your content then reads and uses to know what mode it's in (pre-test vs post test).

That said, a lot of people avoid using multiple SCOs so they don't have to think about how their LMS or SCORM manages those SCOs. Using only a single SCO gives your content a lot of control, but the trade off is it looks like one monolithic item to the LMS, so reporting on multiple tests can't be as nice. So, there is no specific pre-test variable because SCORM is designed on the assumption that pre-tests would go in their own SCO, so there is no need for such a variable.

What you can do in a single SCO is create additional named objectives and interactions. If you just want the score for the pre-test, that's going to look better, but if you're tracking responses to each question you'll wind up with a list of items like "PreTest question 1, PreTest question 2" ... and continuing to "PostTest question 1, PostTest question 2"... the naming scheme is up to you of course, but the constraint is that you're dealing with one list of objectives and interactions and can only differentiate them by name.

An example course using objectives and interactions: http://scorm.com/scorm-explained/technical-scorm/golf-examples/#advancedruntime Some tips on what tests should report (and how): http://scorm.com/blog/2010/11/4-things-every-scorm-test-should-do-when-reporting-interactions/

Sorry for not being more step-by-step, but as you can see you have a couple of options, each of which involve a little more detail than I can really put in one answer.

0
On

While you didn't describe the structure of your course, I'll respond based upon the possibilities. I am assuming you have a pretest, content and a posttest:

You have one large SCO, which contains the pretest/content and SCO:

  • If you need the info only for your course to use and display within the course:

    You can save the pretest and posttest scores in the cmi.suspend_data. Most people store this information in name/value pairs up to 64K chars. with the SetValue command you can

    rtn = your_api.SetValue('cmi.suspend_data','pretest=69,'+oldSuspendData)

    Again, you would only use this if your course needed to display this information within the course only and take action on it based upon the pretest results. Obviously, you should code to make sure you get clean data back and handle any odd conditions, like no data. If however, the client wants the data in the LMS and visible to the LMS admins, you'd need to look at the option below

  • If you need the LMS admins to have access to the pretest/post test scores:

    you'll really need to separate each sco (pretest,content,posttest) but you won't be able to communicate (through SCORM) those scores between each SCO. ie: post test won't know what the pretest score is. You can look at nice examples of how to separate your content into SCOs from the url below. You can easily share the pre and posttest HTML/SWF but pass a querystring to the HTML or use the in the manifest to tell your code what it is. From my experience, there are some LMS which will not pass the querystring and therefore should use both. Simple MultiSCO: http://scorm.com/wp-content/assets/golf_examples/PIFS/ContentPackagingOneFilePerSCO_SCORM20043rdEdition.zip

  • If you need to know the pretest score AND have the info sent to the LMS like a SCO SCORM offers no way to get around this issue in SCORM 2004. I would first tell them the complications. If they still need this hybrid solution, I would us ajax to securely communicate the learnerID, courseID (if any), SCOID (pretest/content/posttest) and score to a server where it can be retrieved. Cookies are a no-no because they assume you'll be on the same machine between SCOs. Additionally, if there is the possibility of xAPI, you could do this much easier.