Courses and SCOs

Reader ‘jcasolutions’ recently posted this comment:

When you make this statement “course (or ‘SCO’ in SCORM terms)” it is incorrect. There is no such thing as a course in SCORM. What most people consider a course is equal to a content aggregation in SCORM. A content aggregation can contain multiple activities that launch multiple SCOs. To say a course is a SCO or even to say a content aggregation is a SCO is assuming a 1 to 1 relationship when in fact there is a 1 to many relationship. When you make the assumption that a course is equal to a SCO then that limits you to tracking only one SCO per course and the database should be set up so that you can track “n” number of SCOs per Content Aggregation and that data should be stored per user / per session.

And he’s absolutely right – I’d just been hoping to avoid discussing this for a while. But, since it’s been raised, I guess it’s time to start thinking about the SCORM 1.2 Content Aggregation Model (or CAM for short).

According to the SCORM 1.2 Content Aggregation Model specification, a ‘content aggregation’ consists of a collection of:

  • Assets such as Flash objects, JPEG images, XML documents …
  • “Shareable Content Objects” or SCOs for short

The specification says this:

SCOs are intended to be subjectively small units, such that potential reuse across multiple learning objectives is feasible.

In other words, an SCO is intended to be a little piece of ‘education’ (for lack of a better word) that can be assembled with other SCOs to create a larger piece of ‘education’. It further defines a SCO as follows:

A Shareable Content Object (SCO) represents a collection of one or more Assets that include a specific launchable asset that utilizes the SCORM Run-Time Environment to communicate with Learning Management Systems (LMSs).

and it illustrates the relationship between SCOs and Assets like this:


As the figure shows, an SCO is, itself, an asset that includes the LMSInitialize() and LMSFinish() calls that I talked about earlier, and references/includes other assets as required. A ‘content aggregation’ – as ‘jcasolutions’ points out – can contain multiple SCOs, and the SCORM CAM goes into a lot more detail about how content aggregations are packaged and described using metadata.

So where does that leave me right now? My focus, so far, has been on implementing a working form of the SCORM 1.2 RTE (Run-Time Environment) using a highly simplified LMS database that supports only a single user (me) and a single SCO (what I’ve been calling a ‘course’). I’m going to continue to do this and then, when the time is right, look at how I’d have to change this to support multiple users/students and multiple SCOs.

Finally, to speak directly to ‘jcasolutions’ point about terminology, I’m going to try to use the term ‘SCO’ correctly but I may stray from time-to-time, and I certainly don’t plan to go back through my earlier posts and change everything. So please bear with me!

This entry was posted in Content Aggregation Model, Run Time Environment. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *