Sharable Content Object Reference Model: Difference between revisions

The educational technology and digital learning wiki
Jump to navigation Jump to search
Line 46: Line 46:
A SCORM compliant system must adopt the Content Aggregation Model (CAM) ''and'' the Run-Time Environment (RTE)  
A SCORM compliant system must adopt the Content Aggregation Model (CAM) ''and'' the Run-Time Environment (RTE)  


=== The Content Aggregation Model ===
=== The Run-Time Environment ===


 
; The API
=== The Run-Time Environment ===


According to Rustici (2004), a SCORM conformant LMS is required to implement an API, i.e. a ECAMAScript object named "API" accessible through the DOM and that implements eight JavaScript functions.
According to Rustici (2004), a SCORM conformant LMS is required to implement an API, i.e. a ECAMAScript object named "API" accessible through the DOM and that implements eight JavaScript functions.


; Functions for execution state
  LMSInitialize()
  LMSInitialize()
  LMSFinish()
  LMSFinish()


; Functions for data transfer
  LMSGetValue()
  LMSGetValue()
  LMSSetValue()
  LMSSetValue()
  LMSCommit()
  LMSCommit()


; Functions for error handling
  LMSGetLastError()
  LMSGetLastError()
  LMSGetErrorString()
  LMSGetErrorString()
Line 68: Line 70:
For minimal SCORM conformance, the only thing that a piece of content needs to do is call LMSInitialize() when it starts and then call LMSFinish() when it exits.
For minimal SCORM conformance, the only thing that a piece of content needs to do is call LMSInitialize() when it starts and then call LMSFinish() when it exits.


SCORM defines a data model consisting of data model elements which the content can read from and write to using this interface. Here is an example fomr Rustici (2004):
; The CMI Data Model
 
SCORM adopts the "cmi" data model from AICC. It consists of data model elements which the content can read from and write to using this interface. Here is an example from Rustici (2004):


cmi.core.lesson_location is the data element that describes the user's location in the content.
cmi.core.lesson_location is the data element that describes the user's location in the content.
Line 75: Line 79:


  strLastLocation = objAPI.LMSGetValue("cmi.core.lesson_location");
  strLastLocation = objAPI.LMSGetValue("cmi.core.lesson_location");
Here are a few data types (as an example only, there are about 40 pages of definitions in the The SCORM Run-Time Environment manual)
):
{|
| cmi.core.student_id || Unique alpha-numeric code / identifier that refers to a single user of the LMS system.
|-
| cmi.core.lesson_location || This corresponds to the SCO exit point passed to the LMS system the last time the student experienced the SCO. This provides one mechanism to let the student return to a SCO at the same place he left it earlier. In other words, this element can identify the student's exit point and that exit point can be used by the SCO as an entry point the next time the student runs the SCO.
|-
| cmi.core.score.raw || Indication of the performance of the student during his last attempt on the SCO. This score may be determined and calculated in any manner that makes sense to the SCO designer.
|-
| cmi.interactions.n.type || Indication of which category of interaction is recorded. The type of interaction determines how the interaction response should be interpreted, e.g. "true-false", "choice", "fill-in", etc.
|}


=== The Content Aggregation Model ===
=== The Content Aggregation Model ===


This model includes three standards:
This model includes three standards:
* [[IMS Content Packaging]]
* [[IMS Content Packaging]] (CP)
* Meta Data (i.e. an older version of [[]]
* IMS Meta Data (i.e. an older version of the IEEE [[Learning Object Metadata Standard]])
* Sharable Content Objects (SCOs). These are special kinds of resources used in a content package (CP).
 


== Comment ==
== Comment ==
Line 109: Line 129:
== References ==
== References ==


* Rustici, Mike (2004). [http://www.adlnet.gov/scorm/articles/7.cfm Two Minute SCORM Overview for Developers]. ADL Website, , retrieved 17:08, 18 December 2006 (MET). (This is a ''must read'' !)
* Rustici, Mike (2004). [http://www.adlnet.gov/scorm/articles/7.cfm Two Minute SCORM Overview for Developers]. ADL Website, , retrieved 17:32, 18 December 2006 (MET). (This is a ''must read'' !)





Revision as of 18:32, 18 December 2006

Draft

Definition

  • SCORM is a sort of "standards package" (also called "profile" or "collection of standards") promoted by the Advanced Distributed Learning (ADL) initiative by the US government, i.e. the Department of Defense (DOD). However, SCORM is also a de facto Industry Standard.
  • The harable Content Object Reference Model (SCORM) specifies how learning content should be coded, how others can later "discover" that content, how it fits into a sequence of learning activities, and how its appearance through the delivery media can be customized for the individual learner.
  • Here is another quote from their Web Site (feb 2006): "The Sharable Content Object Reference Model (SCORM) defines a Web-based learning "Content Aggregation Model" and "Run-Time Environment" for learning objects. At its simplest, it is a reference model that references a set of interrelated technical specifications and guidelines designed to meet DoD's high level requirements for Web-based learning content. These requirements include, but are not limited to, reusability, accessibility, durability and interoperability."
  • Until 2000 SCORM was an acronym for "Sharable Courseware Object Reference Model".

Contents of the SCORM profiles

It is quite difficult to find out which different standards (e.g. form IMS) are integrated in which SCORM profile. It is even more difficult to understand how additions by SCORM fit in.

Versions

SCORM 1.0 (January 2000)

The original version of SCORM was primarily a test version. The concept of a Sharable Content Object (SCO) was introduced and after some testing, ADL made some implementation examples available.

SCORM 1.1 (January 2001)

This profile marked the end of a first trial and error implementation phase and the beginning of the application phase. This version used a XML file based on AICC specifications for describing content structure. Also noteworthy is the change from Sharable Courseware Object Reference Model to Sharable Content Object Reference Model. This version, though improved still lacked support for metadata and was quickly replaced by SCORM 1.2.

SCORM 1.2 (October 2001)

The most important parts of this profile are the Run-Time Environment (RTE) and Content Aggregation Model (CAM).

  • The RTE specifies how content should behave once it has been launched by the LMS.
  • The CAM specifies how you should package your content so that it can be imported into an LMS. This involves creating XML files that an LMS can read and learn everything it needs about metadata describing the course, its pedagogical content elements and organization of the learning experience. To that purpopose SCORM adapted the IMS Content Packaging specification and the IMS Learning Resource Meta-data Specification which slightly modified became the IMS/IEEE Learning Object Metadata Standard.

SCORM 1.2 remains the most popular standard industry, although it is now replaced by SCORM SCORM 2004 (initially called Scorm 1.3).

Important Note: An SCORM Content Package is not the same as a standard IMS Content Package. It may include XML tags for AICC sequencing and JavaScript calls to the LMS (according to AICC/CMI Guidelines for Interoperability which later in modified form became an IEEE standard).

SCORM 2004

January 2004. The current version adds:

  • IEEE’s ECMAScript Application Programming Interface. More particularly: Content to Learning Management System (LMS) communication and Data model for content to LMS communication
  • It adopts IMS Simple Sequencing, i.e. the possibility to define learning sequences depending on the sequence of activities. It also allows for a sharing and use of information on learners status with respect to the learning objectives and competencies acquired while working through different content objects and courses, so long as they remain within the same LMS.

This more robust version should offer greater interoperability since it adopts "stronger" IEEE API and IMS sequencing standards.

SCORM 1.2

It used to be difficult to find mostly SCORM-conformant LMS besides the [1] list of SCORM certified products. Many open source system claim to be SCORM conformant, but DSchneider is not sure of this.

A SCORM compliant system must adopt the Content Aggregation Model (CAM) and the Run-Time Environment (RTE)

The Run-Time Environment

The API

According to Rustici (2004), a SCORM conformant LMS is required to implement an API, i.e. a ECAMAScript object named "API" accessible through the DOM and that implements eight JavaScript functions.

Functions for execution state
LMSInitialize()
LMSFinish()
Functions for data transfer
LMSGetValue()
LMSSetValue()
LMSCommit()
Functions for error handling
LMSGetLastError()
LMSGetErrorString()
LMSGetDiagnostic()

'All' communication between the content and the LMS is handled by this adapter.

For minimal SCORM conformance, the only thing that a piece of content needs to do is call LMSInitialize() when it starts and then call LMSFinish() when it exits.

The CMI Data Model

SCORM adopts the "cmi" data model from AICC. It consists of data model elements which the content can read from and write to using this interface. Here is an example from Rustici (2004):

cmi.core.lesson_location is the data element that describes the user's location in the content.

When the content begins (after it has called LMSInitialize();), it may want to make this call to find out where the user left off and return him to that point:

strLastLocation = objAPI.LMSGetValue("cmi.core.lesson_location");

Here are a few data types (as an example only, there are about 40 pages of definitions in the The SCORM Run-Time Environment manual) ):

cmi.core.student_id Unique alpha-numeric code / identifier that refers to a single user of the LMS system.
cmi.core.lesson_location This corresponds to the SCO exit point passed to the LMS system the last time the student experienced the SCO. This provides one mechanism to let the student return to a SCO at the same place he left it earlier. In other words, this element can identify the student's exit point and that exit point can be used by the SCO as an entry point the next time the student runs the SCO.
cmi.core.score.raw Indication of the performance of the student during his last attempt on the SCO. This score may be determined and calculated in any manner that makes sense to the SCO designer.
cmi.interactions.n.type Indication of which category of interaction is recorded. The type of interaction determines how the interaction response should be interpreted, e.g. "true-false", "choice", "fill-in", etc.


The Content Aggregation Model

This model includes three standards:


Comment

While SCORM represents today's main-stream e-learning that is focused on delivery of courseware it does not represent in our opinion all of what educational technology can be. The main long-term contribution of SCORM was its insistence on data standards, run-time standards (i.e. interoperability) which indeed are major issue for organizations like the US Department of Defense that sponsors over 30'000 training courses. Frustration over non existing standards also led industry and even parts of Academia to adopt various SCORM profiles.

Tools

There are a number of tools that allow you to edit Scorm 1.2 or 1.3 compatible contents, e.g here a 2 free ones:

However, be warned. Full SCORM compatibility is not guaranteed even if your vendor says so. E.g. your LMS may well play contents, but not be able to provide user tracking.

Links

Standards and Bodies

Introductions

References