SCORM标准课件中SCO的制作
一.SCO(Sharable Content Object)概念
1. Asset(原始素材):学习资源的最基本形式是asset。asset是上传到网上并呈现给学习者的电子形式的媒体,如文本、图像、声音、网页或任何其他一种数据。
2. SCO(可共享内容对象):是一个或者多个asset的集合,它可以在SCORM运行环境中与 LMS 进行数据传递。SCO是LMS通过SCORM运行时间环境可以跟踪的最低粒度水平的学习资源。SCO是学习课程实现互操作的最低层次,因此任何符合SCORM规范的学习管理平台都应能激活和追踪SCO
二.SCO的作用
SCO是通过API与LMS进行通信。SCO必须能寻找和定位API实例,这样SCO就可以通过LMS对学习者进行跟踪。SCO通过与平台的data model沟通进行状态的跟踪与记录
课程中SCO的分割:在SCORM中,所谓的SCO可以是教材中的:章、节、主题、单元,也可以是任何大小,看需求而定。要强调的是SCO至少要包含一个学习目标
三.制作SCO
现在的SCO基本上都是html文件,如何将html制成SCO:
手动制作:
1. 在HTML文件中加入两个ADL 提供的javascript,先在教学目录下放APIWrapper.js与 SCOFunctions.js两个js文件,在添加如下代码:
<script type="text/javascript"src="SCOFunctions.js" mce_src="SCOFunctions.js">
<script type="text/javascript"src="APIWrapper.js" mce_src="APIWrapper.js">
在调用其它 API 之前,先用Initialize() 来初始化,退出时用Terminate ()结束 SCO。通常是利用HTML中的onload和onunload来加入这两个调用,简单示例如下:
<span style="font-size:14px;"><html>
<head>
<script type="text/javascript" src="SCOFunctions.js"mce_src="SCOFunctions.js">
<script type="text/javascript" src="APIWrapper.js"mce_src="APIWrapper.js">
<title> a simple SCO example"
<head>"
<bodyοnlοad=“javascript:Initialize();”οnunlοad=“javascript:Terminate();”>
文件内容
</body>
</html></span>
2.在前面基础上进一步完善SCO,使其能灵活调用所需的API和data model。例如把课程中需要记录的数据,按照Data Model,调用SetValue() API 来存入,或者用 GetValue() 读出需要的资料,在结束前,用Commit() 回存信息,等等。现在以GetValue()和cmi.entry为例来演示SCO如何对学习者学习状态进行提醒:当学习者第一次进入一个SCO 时,LMS就设定此Data Model为“ab-initio”;如果半途离开,则设为“resume”;如果设定为””,则表示这个SCO已经学过了,现在是复习状态。这样,当学习者进入该SCO就能知道学习状态。具体程序如下:
<<span style="font-size:14px;">script language=“javascript”>
var entryStatus = GetValue(“cmi..entry”);
if(entryStatus == “ab-initio”){
alert(“您是第一次进入本章节”);
} else if(entryStatus == “resume”){
alert(“欢迎再次进入本章节”);
} else if(entryStatus == “”){
alert(“欢迎复习本章节”);
}
</script></span>
又比如对其他Data Model操作
<span style="font-size:14px;"><pre name="code" class="html">/<span style="font-size:14px;">
//学员姓名加学号:
<script language=“javascript”></span>
</span>
Var student_name = LMSGetValue(“cmi.core.student_name”);
Var student_id = LMSGetValue(“cmi.core.student_id”);
alert(student_name+”(”+student_id+ “)您好,欢迎进入本单元学习!”);</script>
//学习状态
<script language=“javascript”>
varlessonStatus = LMSGetValue(“cmi.core.lesson_status”);
if(lessonStatus==“incomplete”)
{ alert(“您未完成本节学习,继续努力!”) }
</script>
//学习成绩
<script language=“javascript”>
LMSSetValue(“cmi.core.score.raw”,”85”);
</script>
function loadPage()
{
var result = LMSInitialize();
var status = LMSGetValue( "cmi.core.lesson_status" );
if(status == "not attempted")
{
LMSSetValue( "cmi.core.lesson_status", "incomplete");
}
exitPageStatus = false;
startTimer();
}
其它javascript交互代码和Data Model的编写可参照ADL SCORM提供的学习对象样例。
工具制作:
现有的SCORM课件制作工具,只有串流大师可以将你的视频,音频,PPT采用三分屏(也可以全屏单一)形式整合成一个网页,自动添加js文件和必要的代码,制成SCO,根据章节生成单个SCO或者多个SCO。你只要导入素材(视频,PPT),添加章节即可,自动生成,以下是操作截图,具体全部SCORM课件制作见另一篇博文。