SCORM 1.2與SCORM 2004規範之初步比較
前言
2004年是一个e-Learning标准的重要里程碑,ADL于1月30号终于推出令人期待的SCORM 2004的最新版本规范,SCORM 2004也就是众所周知的SCORM 1.3,就规范内容而言,其中可以归纳出三个最大的不同点,分别是:
一、 imsmanifest.xml档案中加入sequencing语法:除了原先在SCORM 1.2规范中所提供的教材架构及教材实体档案连结等信息外,为了串连各个教材单元,增加了Sequencing的语法,这些语法和SCORM 1.2所规范的语法并不冲突,而是以SCORM 1.2之语法为基础再外加于其上,不论SCORM 1.2或SCORM 2004规范皆是以XML为实作方式,为了区别SCORM 1.2与SCORM 2004中新增的sequencing语法,因此在imsmanfiest.xml档案中以imsss之名称空间作为区别。
二、 在学习组件(Sharable Content Object, 简称SCO)中,SCORM 1.2 RTE(Run Time Environment)定义了8个API(Application Programming Interface)做为SCO与平台之间的沟通的管道,在SCORM 1.2 API采用AICC的CMI001规范,但在SCORM 2004 API部分改采IEEE P1481.11.2之标准,简而言之API的名称在SCORM 2004规范中,有做部分的更动。
三、 在学习组件(SCO)中,除了在第二点说明中API有所更动,Data model有部分的更动,在SCORM 1.2中,Data model是采用AICC CMI001之规范,在SCORM 2004中Data model改采IEEE P1484.11.1,
以下将简述其差异。
壹、SCORM 2004加入Sequencing语法
在SCORM 1.2规范中每个课程必须包含一个imsmanifest.xml档案,在这个档案之中,包含两大类信息:
n 教材架构信息:定义教材章节信息,意即教材内容纲要(table of content),包含各章节名称及其章节层级架构。
n 教材实体档案连结信息:定义各章节所连结之实体档案。
SCORM 2004之教材中亦必须包含一个imsmanifest.xml档案,除了承袭SCORM 1.2之两大类信息外,增加了sequencing信息,用来描述各章节之间的串连关系,因此第一点最大不同点在于imsmanifest.xml档案中,为了提供sequencing信息,增加了许多的sequencing标签,这些新增的标签需由程序设计师编写,程序设计师需依照教学设计师所设计的章节流程,转换成符合SCORM 2004之语法,在SCORM 2004规范中提供了8大类语法,分列如下:
一、Control Mode:设定教材章节之流程
二、Sequencing Rules:设定各个教材章节之条件(Condition)及行为(Action)
三、Rollup Rules:描述子章节与父章节之学习状态之间的关系
四、Auxiliary Resource:教材辅助教材
五、Objectives:设定章节之学习目标
六、Limit Conditions:设计章节之阅读限制条件
七、Randomization Controls:设定教材章节是否随机出现
八、Delivery Controls:设定是否记录章节之学习状态
在这8大类中,又包含了许多不同的属性(Attribute)及元素(Element)在内,以下简介这8大类的内容,其由各元素的介绍将另有专文介绍。
这8大类的语法,就是教学设计师所可以使用的工具,比如当教学设计师在教材中需要有一个章是课堂测验,而在测验时,教学设计师希望学习者只能一题一题的往下答题,一旦答案送出后就不能回到之前的问题做答,这时教学设计师可以将Control Mode中的forwardOnly属性设为true,所以在回馈到imsmanifest.xml的语法设定如下述Example 1。
Example 1: <item identifer=”Exam”> <imsss:sequencing> <imsss:controlMode forwardOnly=”true”/> </imsss:sequencing> </item> |
承Example 1之设计,若教学设计师希望学习者测验次数只能一次,所以就可以应用limitConditions中的设定,将可阅读次数设定为1,如此学习者就只能进入该测试一次,其sequencing语法设定如Example 2
Example 2: <item identifer=”Exam”> <imsss:sequencing> <imsss:controlMode forwardOnly=”true”/> <imsss:limitConditions attemptLimit=”1”/> </imsss:sequencing> </item> |
由上述两个例子可以不难看出,sequencing语法影响有两个面向。
n 教材部分:依教学设计师的设计,程序设计师在imsmanifest.xml档案必须在每个<item>元素中加入sequencing的语法。
n 平台部分:学习管理平台必须要解译在imsmanifest.xml所设定的各种sequencing语法,再依学员的学习状态提供学员所需之学习内容。
贰、API的差异
在SCORM 1.2 RTE中提供了8个API(Application Programming Interface),如下表,其主要作为数字教材与平台之间数据沟通的桥梁,每个API的功能各异。
并由表一可以清楚得知,SCORM 2004与SCORM 1.2所提供的API总数皆为8个,而SCORM 2004将各个API的名字做了部分变动,以下就各个API做简短的描述。
n Initialize:建立学习对象与平台之间的数据传输管道。
n Terminate:结束学习对象与平台之间的数据传输管道。
n GetValue:取得学员之学习信息。
n SetValue:储存学员之学习信息。
n Commit:将所有暂存学习信息数据全数储存至学习平台。
n GetLastError:取得错误代码。
n GetErrorString:由错误代码取得错误之解释。
n GetDiagnositic:取得错误的处理方式。
表一、SCORM 1.2与SCORM 2004 规范API之比较表
SCORM 1.2 |
SCORM 2004 |
|
Session Methods |
LMSInitailize() |
Initialize() |
LMSFinish() |
Terminate() |
|
Data-transfer Methods |
LMSGetValue() |
GetValue() |
LMSSetValue() |
SetValue() |
|
LMSCommit() |
Commit() |
|
Support Method |
LMSGetLastError() |
GetLastError() |
LMSGetErrorString() |
GetErrorString() |
|
LMSGetDiagnostic() |
GetDiagnostic() |
参、Data model的差异
在SCORM RTE(Run Time Environment)的标准里有两大重点,一是API,一是Data model,学过程序设计的朋友应该可以很快了解,API就像是function,而data model就像是function中传递的参数,以exportData(parameterA, parameterB)为例,其中exportData就是function名称,就是SCORM所说的API;而parameterA及parameterB就是所谓的data model。
在data model变动的幅度不大,SCORM 2004的所订定的data model与SCORM 1.2所订的data model大致相同,但名称做了部分修改,其对应关系如下表二所列。
表二、SCORM 1.2与SCORM 2004规范之data model对应表
SCORM 2004 Data model |
与SCORM 1.2Data model之对应关系 |
|
Cmi.comments_from_learner._children |
新增 |
|
Cmi.comments_from_learner._count |
新增 |
|
Cmi.comments_from_learner.n.comment |
新增 |
|
Cmi.comments_from_learner.n.location |
新增 |
|
Cmi.comments_from_learner.n.date_time |
新增 |
|
Cmi.comments_from_lms._children |
新增 |
|
Cmi.comments_from_lms._count |
新增 |
|
Cmi.comments_from_lms.n.comment |
新增 |
|
Cmi.comments_from_lms.n.location |
新增 |
|
Cmi.comments_from_lms.n.date_time |
新增 |
|
Cmi.scaled_passing_score |
新增 |
|
Cmi.score._children |
对应cmi.core.score.chilcren |
|
Cmi.score.raw |
对应cmi.core.score.raw |
|
Cmi.score.max |
对应cmi.core.score.max |
|
Cmi.score.min |
对应cmi.core.score.min |
|
Cmi.success_status |
对应cmi.core.lesson_status之passed及failed |
|
Cmi.completion_status |
对应cmi.core.lesson_status之completed及 incomplete |
|
Cmi.suspend_data |
对应cmi.suspend_data |
|
Cmi.time_limit_action |
对应cmi.student_data.time_limit_action |
|
Cmi.session_time |
对应cmi.core.session_time |
|
Cmi.total_time |
对应cmi.core.totoal_time |
|
Cmi.credit |
对应cmi.core.credit |
|
Cmi.entry |
对应cmi.core.entry |
|
Cmi.exit |
对应cmi.core.exit |
|
Cmi.launch_data |
对应cmi.launch_data |
|
Cmi.learner_id |
对应cmi.core.student_id |
|
Cmi.learner_name |
对应cmi.core.student_name |
|
Cmi.location |
对应cmi.core.lesson_location |
|
Cmi.max_time_allowed |
对应cmi.student_data.max_time_allowed |
|
Cmi.mode |
对应cmi.core.lesson_mode |
|
Cmi.interactions._children |
旧有 |
|
Cmi.interactions._count |
旧有 |
|
Cmi.interactions.n.id |
旧有 |
|
Cmi.interactions.n.type |
旧有 |
|
Cmi.interactions.n.objectives._count |
旧有 |
|
Cmi.interactions.n.objectives.n.id |
旧有 |
|
Cmi.interactions.n.timestamp |
对应cmi.interactions.n.time |
|
Cmi.interactions.n.correct_responses._count |
旧有 |
|
Cmi.interactions.n.correct_resonses.n.pattern |
旧有 |
|
Cmi.interactions.n.weighting |
旧有 |
|
Cmi.interactions.n.leaner_response |
对应cmi.interactions.n.student_response |
|
Cmi.interactions.n.result |
旧有 |
|
Cmi.interactions.n.latency |
旧有 |
|
Cmi.interactions.n.description |
新增 |
|
Cmi.learner_preference._children |
对应cmi.student_preference.children |
|
Cmi.learner_preference.audio |
对应cmi.student_preference.audio |
|
Cmi.learner_preference.language |
对应cmi.student_preference.language |
|
Cmi.learner_preference.speed |
对应cmi.student_preference.speed |
|
Cmi.learner_preference.text |
对应cmi.student_preference.text |
|
Cmi.objectives._children |
旧有 |
|
Cmi.objectives._count |
旧有 |
|
Cmi.objectives.n.id |
旧有 |
|
Cmi.objectives.n.score._children |
旧有 |
|
Cmi.objectives.n.score.scaled |
新增 |
|
Cmi.objectives.n.score.raw |
旧有 |
|
Cmi.objectives.n.score.min |
旧有 |
|
Cmi.objectives.n.score.max |
旧有 |
|
Cmi.objectives.n.success_status |
对应cmi.objectives.n.status中之passed及failed |
|
Cmi.objectives.n.completion_status |
对应cmi.objectives.n.status中之completed及incomplete |
|
结语
综合以上所述,导入SCORM 2004标准需要相当多的问题要克服,以下所列为个人浅见:
一、 SCORM 2004提高教材制作难度
Sequencing rules是SCORM 2004中的重点,让独立的学习组件串连起来,教学设计师可以将教学策略透过sequencing rule融入数字教材设计之中。对于教材制作厂商而言可以说是一则以喜一则以忧,喜的是SCORM 2004在加入了Sequencing rule之后,教学设计师可以将教学策略加入教材之中,如反复练习(retry)、随机出题(randomization)等,忧的是目前SCORM 2004虽加入名为”IMS Simple Sequencing”的规范于其中,但事实上并不简单(simple),要做一门符合SCORM 2004的教材需要相当多的程序技术及对标准的了解。
目前制作SCORM 2004教材可以粗分成两大阶段—设计阶段及实作阶段,设计阶段教学设计师要将组件化教材设计的思维溶入其中,定义出各单元之教学目标准以及这些教学目标之间的关连,再由单元组合成章节,因章节的目标及属性的不同拟定教学策略。接下来就进入实作阶段,程序设计师依教学设计师之设计,将教学策略转换成许多的sequencing rule的语法,并加入imsmanifest.xml档案之中,一步一步地将教材实作完成。
对于教学设计师而言,导入SCORM 1.2规范时,必须要花相当多的时间与内容专家(Subject Matter Expert)深入讨论教材之章节架构及教学目标,进而依章节架构设计学习组件(SCO);当导入SCORM 2004时,如前述之设计及沟通工作外,须再与内容专家讨论并厘清各学习组件之间的关系,这也将增加设计SCORM 2004教材之困难度;对于程序设计师而言sequencing rule不容易编辑实作,是导入SCORM 2004的困难点,sequencing rule的编辑未来必定可以透过编辑工具接口减少其难度,但应用的深度则是要仰赖教学设计师对于sequencing rule及教学情境的掌握,这是自SCORM 1.2教材就己存在的技术与应用的落差,而导入SCORM 2004技术与应用的落差可能会更大。
未来SCORM 2004的教材开发势必较SCORM 1.2的教材更为困难,其开发模式及流程也会不同,对于教学设计师而言,了解一个个的sequencing rule是困难的,但完全不了解而去设计教材却要有深入应用无异是缘木求鱼,因此对教学设计师而言未来SCORM 2004教材开发之技术难度应是介于应是介于两者之间,建议未来SCORM 2004教材开发方向应朝样板式template式开发模式,研究机构如学校及资策会等,应用要培养深入了解SCORM 2004标准之教学设计师,并将这些分散复杂的rule配合教学理论而组合成多个不同用途之样板(template),进而推广这些样板,如此才可收事半功倍之效。
二、 兼容性的问题
在了解SCORM 1.2与2004的差异后,心里一定有一个疑问,若原本己有许多符合SCORM 1.2的教材,是否在符合SCORM 2004的平台就不能使用了?答案似乎并不乐观,SCORM 2004由于其中某些部分己经被IEEE标准经过修改,而造成无法向下兼容的窘境,但仔细回想上述三点差异比较之后,在兼容性问题又出现了一丝曙光,在第一部分SCORM 1.2之content package部份并没有sequencing rule语法,而SCORM 2004支持sequencing语法,SCORM 2004是在SCORM 1.2的content package之基础之上架构sequencing 语法,单就这content package部分而言是向下兼容的。
其次在API及data model部分,不难看出有许多部分是名称的调整,初步看来,当名称不同导致了不兼容的问题,但从另一个角度而言,是否可以用技术方法克服,答案是肯定的,由程序设计的角度,可以设计开放两个接口同时存取一份数据,并在程序主体中定义新旧不同标准之数据域位对应关系,简言之,这部分的问题亦可解决。
令人头痛的兼容性问题,在SCORM 2004推出后成为众矢之的,但可以透过平台的修改,而在不用更动SCORM 1.2的教材之下,保持向下兼容,虽然如此,未来仍建议教材开发厂商以符合IEEE标准为基础之SCORM 2004版本为佳。
SCORM 1.2與SCORM 2004規範之初步比較相关推荐
- BitTorrent協議規範(转自維基百科)
BitTorrent協議規範 目錄 [隱藏] 1 目的 2 應用範圍 3 約定 3.1 編碼 3.1.1 位元組串 3.1.2 整數 3.1.3 表 3.1.4 字典 4 元信息文件結構 5 伺服器 ...
- SCORM标准及支持SCORM标准学习平台的设计
SCORM标准及支持SCORM标准学习平台的设计 一. 引言 Internet在各领域的普及为信息和知识的交流传播提供了便捷的途径,而网络更成为一个公共的传递平台,基于网络的学习内容几乎可以被任何媒体 ...
- RTX 2080 Ti、RTX 2080 與 RTX 2070 規格表
转自:https://news.xfastest.com/review/review-05/54023/nvidia-geforce-rtx-2080-rtx-2080-ti/ ↑ RTX 2080 ...
- SCORM学习交互开发
本文仅作为个人SCORM开发入门参考,理解均基于SCORM文档,如有不对的地方欢迎指正. 名词解释: LMS:用户学习管理系统,所有用户学习相关数据均在系统中,如A平台需要增加SCORM学习功能,那么 ...
- SCORM标准课件制作
SCORM标准课件的制作 关于SCORM标准,最主流的两个版本就是SCORM 1.2 和SCORM 2004(又称SCORM1.3).现在SCORM 1.2更多一点.但下面介绍的制作工具都 ...
- SCORM课程对接线上课程学习平台
SCORM课程对接线上课程学习平台 1,什么是SCORM课件? SCORM是一种标准,是在线学习系统的一种内容标准,课件的内容主要由HTML.XML标签.JS代码组成. 其中,HTML 用于展现文字. ...
- 制作SCORM课件离线播放器(C#)
概述 SCORM标准的课程是e-learning比较常用的标准,但课程要放到LMS浏览才看到课件数据的交互很不方便,下面介绍.net写的SCORM课件播放器,方便离线浏览SCORM课程或用于SCORM ...
- “Implementing SCORM 1.3” 研习营心得摘要(胡正亨)
Implementing SCORM 1.3" 研习营心得摘要 资策会数字学习技术中心 研习营活动简介 "Implementing SCORM 1.3"研习营是由美国卡 ...
- 電腦機房空調氣流設計與節能
近年國際間環保意識抬頭,致使世界各國紛紛積極的開始重視綠色.環保.節能等議題,於1997 年的京都議定書更被喻為人類有史以來最複雜牽扯層面最廣的協定書,這當中亦隱含了溫室氣體減量之責任應該被提升到全球 ...
最新文章
- linux搭建markdown服务,Markdown新手快速入门基础教程及Ubuntu下的安装
- [leetcode]344.反转字符串
- nssl1157-简单数学题【约数,换元法】
- 【贪心】雷达装置(ybtoj 贪心-1-2)
- Java中的return this
- 计算机无法共享磁盘分区,win7系统下怎么创建虚拟磁盘分区以达到网络共享的目的...
- SQL server 增删改查语句
- Java RSA加密(一)--BCD输出
- Solr分析器IK-analyzer配置及错误java.lang.AbstractMethodError解决
- linux下find命令-atime,-ctime,-mtime真正含义
- scrt远程连接工具怎么切换窗口
- lottie动画效果使用简例
- 录音怎么转换成mp3格式?
- Linux 经典书籍推荐
- SASA: Semantics-Augmented Set Abstraction for Point-based 3D Object Detection
- 有什么好的搜图软件推荐吗?
- CuInS2/ZnS-PEG量子点|量子点PEG-ZnS/CdSe|PEG修饰的近红外二区量子点ZnO量子点
- 如何有效地对时间进行管理
- POI 自定义16进制颜色导出
- 渗透学习-SQL注入篇-基础知识的学习(持续更新中)