scorm标准中学习共享组件(sco)的学习状态值
今天在我主持的论坛上看到了这样的帖子“scorm 课件学习完成状态scorm 课程学习完成状态,应该是在课程里面设置吧。但作为平台我想知道它是怎么设置的,在哪里设置的?怎么获取这些信息呢?”
学习共享组件的学习状态值
根据SCORM对于学习组件的定义,学习资产是单纯的指向学习资源,而内容聚合架构则是表示组合的抽象概念,唯有学习共享组件(以后简称SCO)拥有能和学习管理平台(以后简称LMS)互相传递讯息的功能,因此在数据模型(Data Model)中有一个学习状态值(cmi.core.lesson_staus)是专门形容SCO本身的学习情况,总共分为下面六种,而这些状态由SCO与LMS共同维护。
| passed (通过) | completed (已完成) | browsed (浏览) |
| incomplete (非完成) | failed (失败) | not attempted (未尝试) |
当LMS发行SCO时,必须将学习状态值初始化为“not attempted”,接着将状态的控制权转移给SCO。至于SCO可以采用不同的策略决定何时将学习状态值由“not attempted”转换至“incomplete”,例如:某教师认为当学习者进入SCO时,SCO就应转换至“incomplete”的状态,另外可能也有教师认为学习者必须符合某些条件或执行某些操作时,SCO才能转换至“incomplete”的状态,这些完全取决于教学设计者的考虑,并没有任何使用上的限制。
教学设计者可以在学习者完成此SCO的学习时,将学习状态值转换至“completed”,至于认定学习者完成学习的方式与作法,也是由教学设计者自行决定。而且SCO可以根据不同的衡量方式将学习状态值转换至“passed”或者“failed”的状态。
虽然SCO可以设定学习状态值,但是SCORM并没有强制规定SCO必须设定学习状态值,因此LMS必须采取下列对应的处理方式,维持学习状态值。
1. 当LMS启动SCO时,必须将状态初始化为“not attempted”。
2. 当LMS收到LMSFinish的命令,但lesson_status的状态不是“not attempted”或“incompleted”时,则必须重新检验其状态。
3. 当cmi.core.credit的值为“credit”,而且cmi.student_data.mastery_score与cmi.core.score均含有成绩时,比较两者的分数。若mastery_score大于score则更改lesson_status的值为“passed”,反之则更改为“failed”。
4. 当cmi.core.credit的值为“credit”,但是cmi.student_data.mastery_score没有成绩时,则维持lesson_status的值不变,也就是保留SCO设定的值。
5. 当cmi.core.credit的值为“no-credit”时,而且cmi.core.lesson_mode为
“browse”时,更改其值为“browsed”。
6. 当cmi.core.credit的值为“no-credit”时,但是cmi.core.lesson_mode不为“browse”或元素根本不存在时,维持lesson_status的值不变,也就是保留SCO设定的值。