38

Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

  • Upload
    lara

  • View
    29

  • Download
    3

Embed Size (px)

DESCRIPTION

Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton. IMS Learning Design and ADL Scorm. IMS Learning Design. ADL Scorm. Initial work carried out by Open University of the Netherlands. Are there overlaps between the two? - PowerPoint PPT Presentation

Citation preview

Page 1: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton
Page 2: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

Providing a SCORM service in an IMS Learning Design player

Paul SharplesThe University of Bolton

Page 3: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

IMS Learning Design and ADL Scorm

• Initial work carried out by Open University of the Netherlands.• Are there overlaps between the two?• What are the major differences?• Can they be used together?

IMS Learning Design

IMS Learning Design ADL ScormADL Scorm

Page 4: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

IMS Learning Design

• Can be used to model units of learningany delimited piece of education or training, such as a course, a module, a lesson, etc

• Can represent the whole learning processlearning activities, problem solving activities, search activities, discussion activities, peer assessment, collaborative learning etc

• A single specificationis designed to orchestrate learning arrangements – but can be linked to several other e-learning specifications

• Units of learning are content packages they contain materials which can be played by software, such as the Coppercore Engine

Page 5: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

ADL Scorm

• A reference modeldescribes a content model and run-time environment for sharable content objects (SCOs)

• Single user drivenThe student takes the content with no interaction between either other students or teachers

• Sharable Content Objects must adhere to the defined APIA SCO must be able to communicate with the LMS by using a defined Application Programming Interface (API)

• Scorm courses are content packagesthey contain materials which can be played by software, such as the Reload Scorrm Player

Page 6: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

SCORM Shareable Content Objects: What are they?

• In SCORM (1.2) there was the notion of two types of content – assets and SCOs

• Assets were vanilla web contentweb pages, word docs, flash files etc

• SCOs are different & have to be authored in a particular way They need to be able to communicate with the LMS. They need to provide certain calls within the content to achieve this.

Page 7: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

SCORM Sharable Content Objects: What are they?

• SCOs are typically a web page which will incorporate some javascripting codethere are other SCOs which use other technologies, such as macromedia flash to talk to the LMS

• The javascript code has the job of talking to the LMS using the defined Application Programming Interface (API)

• At runtime, the LMS has to provide what is known as an APIAdapter to sharable content objectsThe SCO needs the APIAdapter so that it can talk to the LMS and enable content tracking. The tracking values are kept in a SCO data model.

• The APIAdapter allows the SCO to talk to the LMS and get/set values which can record the progress of the SCO

Page 8: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

SCORM Sharable Content Objects: What are they?

• SCOs have to tell the LMS they are about to startthey do this by using the APIAdapter and calling LMSInitialise();

• SCOs can set and get values from the LMSthey can get a value using the APIAdapter and calling LMSGet(“value_name”);they can set a value using the APIAdapter and calling LMSSet(“value_name”,”value_to_set”);

• SCOs must tell the LMS when they are finishedthey do this by using the APIAdapter and calling LMSFinish();

Page 9: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

SCORM Sharable Content Objects: What are they?

Some of the values the SCO can accessSCORM 1.2 DATA MODEL ELEMENTS

Data Model element Function cmi.core.student_id Identifies the learner for whom the SCO instance was launched. cmi.core.student_name Represents the name of the learner. cmi.core.lesson_location Represents a location in the SCO. cmi.core.credit Indicates if the learner will be credited for performance in the SCO. cmi.core.lesson_status Indicates if the learner has completed the SCO. cmi.core.entry Contains information to indicate if the learner has previously accessed the SCO. cmi.core.score Identifies the learner's score for the SCO. cmi.core.total_time Identifies the sum of all the learner's session times accumulated in the current learner attempt

prior to the current learner session. cmi.core.exit Indicates how or why the learner left the SCO.

cmi.core.session_time Identifies the learner's session time in the current learner attempt. cmi.suspend_data Provides information that may be created by a SCO as a result of a learner accessing or

interacting with the SCO. cmi.launch_data Provides data specific to a SCO used for initialization.

.raw

Page 10: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

SCORM Sharable Content Objects: What are they?

How a Simple SCO might look

Page 11: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

SCORM Sharable Content Objects: What are they?

The source view<html><head><script language=javascript src="SCOFunctions.js"></script><title>A very simple 1.2 Sharable Content Object</title></head><body onunload="return LMSSetValue('cmi.core.lesson_status','incomplete')">

<h1>Simple sco</h1><p><b>Objectives</b> Please use the links in the tree opposite to find new

content based on your subject area.</p>Click the "Okay" button to continue<form><table><tr><td><input type="button" value="Okay" onClick = "LMSSetValue('cmi.core.lesson_status','completed');LMSFinish(‘’);" name=ok>

</td></tr></table></form>

</body></html>

Page 12: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

SCORM Sharable Content Objects: What are they?

A SCO running in the Reload SCORM Player

Page 13: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

SCORM Sharable Content Objects: What are they?

Where the APIAdapter can be found

Page 14: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

Some conclusionsIMS Learning Design and ADL Scorm

• Both can be used to guide the development of educational materials

• Both use a combination of specifications to achieve their goals

• Both lead to content packages which can be read into players and used to support learning

Page 15: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

How could they integrate?

• Content found within a IMSLD can be in a variety of

formats, including XML, (X)HTML, RTF, PDF etc. • IMSLD does not prescribe a model to which content

must adhere but instead focuses on specifying the learning process in terms of which roles perform which activities, when, and supported by which facilities

• As a result, IMSLD provides a natural slot into which SCOs can be incorporatedexisting SCOs could be reused in this way

• IMSLD was designed with such an integration in mind it provides a placeholder in the ‘environment’ associated with an activity

Page 16: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

Key concepts from IMS Learning Design

IMS Content Package (UoL)

Manifest

Organizations

Learning Design

Learning Activity

Environment

Learning Object

Resources

Resource

Item

file

Item

Resource

href=“http://www.ou.nl/”

The actual file could be a SCO

Page 17: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

How could they integrate?

• The SCO is a resource available during the runtime cycle of a unit of learningwithin the environment section of one or more learning activities

• When the SCO is loaded, the LD runtime system must know how to handle itSpecifically it must provide a SCORM APIAdapter to the SCO when it is loaded

• The SCO should work just as it would in a normal SCORM aware LMSit should be able to set/get values

• However, the ability to simply “play” the SCO isn’t really all that useful by itself.

Page 18: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

More integration?

• It would be more useful if the outcome from taking a SCO could somehow influence the rest of the Learning DesignDepending on which values the SCO updated in the SCORM data model, they could then be accessed by the unit of learning

• One answer is to create a Level B Learning Design which utilises properties and conditions

• The properties defined within in the Learning Design could be named to correspond to values found within the SCO model.for example we could define a level B property as “cmi.core.score.raw” a value found in the SCO model

• We are defining a mapping between values that a SCO might change and IMSLD Level B properties

• The LD runtime system now has an additional job. It must propagate changes made by the SCO in the SCO model, to the LD engine

Page 19: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

Implementing the Software

• Two existing open source tools used as basis for integration

• 1. Coppercore Learning Design Enginethis includes the engine, default player and CCSI framework

• 2. Reload Scorm 1.2 playerwe didn’t have access to an open source SCORM 2004 player we could use. The implementation would/should have been very similar for SCORM 2004.

• Coppercore Service Integration (CCSI) provides the framework to allow new services to be integrated into runtime system

Page 20: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

Implementing the Software

• CCSI has the notion of the “dispatcher”the dispatcher allows separation of software components so that specific functionality can be accessed as needed at runtime. The dispatcher gets the required service as it is needed.

• Developers write new services which adhere to CCSI frameworknewly written services must conform to a simple set of rules

• The CCSI layer allows one service, such as a SCORM service, to communicate with another service, such as the LD Engine service.

Page 21: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

Integration of SCOs in LD runtime

The architecture of the major components

Browser

LD Player

Coppercore Service Integration (CCSI)

LD Engine(Coppercore)

QTI Engine(APIS)

Scorm Engine

(Reload)

Forum service

Search service

Page 22: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

Implementing the Software

Using parts of the existing Reload Scorm Player

• Consisted of several parts includinga java swing based management interface

• Isolated the engine part concerning the SCO model.

• The SCO model was held in an easyto query structure

• This became the basisfor the new service

Tomcat server

Scorm engine web

application

BrowserDesktop client written in

swing

Page 23: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

Implementing the Software

Using parts of the existing Reload Scorm Player

• Original Reload APIAdapter was written as set of objects in javascript

• A hidden frame sent the SCO values back to the server in a web form

• The Scorm Engine then processed the values and populated its own model which could be saved to disk

• The new APIAdapter would use Ajax technology to allow the values to be passed back to the server without having to have a hidden frame

Page 24: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

Defining a new content type

• In IMSLD there are two types of content by default- Web Content – normal content, web pages, flash, word docs etc- IMSLDContent – an XML format which needs to be rendered by the runtime

• To allow a runtime system to recognise that a IMSLD manifest contains an item which is of the new type “Sharable Content Object version 1.2”, a new type needed to be added

• A new content type of “adl_sco_v1p2” was added within the manifest to refer to a learning object which is a version 1.2 sharable content object

• The runtime web player also needed to be updated so that it could recognise this type and pass the correct service to it as required.

Page 25: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

How it works

1. In the LD Web Player, the user clicks on a link to load a SCO the link would appear within an environment attached to a learning activity

2. The LD player realises that the type is “adl_sco_v1p2” and creates a link to the new SCO 1.2 serviceA new SCO data model is initialised with certain values, student name for example

3. The Web Player takes the model, builds an XML document and returns this to the browserThe XML fragment also includes the URL of where the SCO file is located

4. An XSLT stylesheet transforms the XML into javascript calls which populate the APIAdapter with the new data. The SCO is loaded into the page within a <DIV> layer

5. The user takes the SCOThe SCO can access the APIAdapter and sets/gets values

Page 26: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

How it works

6. Once the SCO is finished the updated model is committed back to the server using an AJAX call

7. The web player gets the current handle to the SCO 1.2 service and passes the new model to it.

8. The SCO 1.2 service can now talk to the LD Engine service. Each element fo the SCO model is broadcast to the LD Engine service.

9. If there is a corresponding IMSLD level B property defined in the unit of learning, then its values is updated to reflect the changes the SCO made.

Page 27: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

How it works

Browser

LD Player (servlet)

Coppercore Service Integration (CCSI)

LD Engine SCO 1.2 Engine

SCO object Client API Adapter

Page 28: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

Testing the prototype with a real example

• “playing the guitar” example unit of learning• Six acts. First act contains the SCO found within an environment. • All other content is hidden until user takes the SCO• The SCO has 5 questions. User takes the SCO based test.• Depending on which questions s/he answered correctly, further

learning activities are shown in the following acts.• Makes use of the show and hide properties for Learning activities as

manipulated by properties & conditions in Level B

Page 29: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

Authoring the example

• Reload Learning Design Editor used.• Stage one was to assemble the content and import into

the editor. • Stage two was to create all of the learning activities,

learning objects and environments.• Stage three was to assemble the method. This

consisted of one play and six acts – each containing a learning activity.

Page 30: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

Authoring the examplethe method pane

Page 31: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

Authoring the exampledefining the properties

Page 32: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

Authoring the exampledefining the conditions

Page 33: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

Authoring the exampleChanging the resource type to adl_sco_v1p2

Page 34: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

Illustrating the exampleThe student starts the Unit of Learning

Page 35: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

Illustrating the exampleThe student posts the answers

Page 36: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

Illustrating the exampleNew Learning Activities appear

Page 37: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

Illustrating the exampleThe student retakes the test, this time answering all questions correct

Page 38: Providing a SCORM service in an IMS Learning Design player Paul Sharples The University of Bolton

Possible Future Work

• Additional service added to support SCORM 2004the API has been changed slightly between versions

• Service to handle full SCORM packages, including sequencing, etc. Full SCORM compliant LMS features implemented as a servicewith SCORM 2004 this would also involve a system to handle IMS Simple Sequencing