简体   繁体   English

如何保存和检索学生的回答 SCORM?

[英]how to save and retrieve student responses SCORM?

Moddle: v3.10
SCORM: v1.2
LARAGON: v4.0

I was given the task of understanding how a SCORM package works.我的任务是了解 SCORM package 的工作原理。

With the examples on the SCORM website I was able to understand how to manage the lesson status, how to calculate the grade and from the grade inform the LMS if the student passed or failed.通过 SCORM 网站上的示例,我能够了解如何管理课程状态、如何计算成绩以及根据成绩通知 LMS 学生是否通过或失败。

But there is something that I am not able to progress.但是有些事情我无法取得进展。

When the student has already taken the exam I have already calculated his grade and told SCORM if he passed or not.当学生已经参加考试时,我已经计算了他的成绩并告诉 SCORM 他是否通过了。

This same student can retake the exam and this is not expected, I did not find a way to store what his answers were and with that, instead of showing the exam form, showing the exam questions and the answers that the student answered.同一个学生可以重新参加考试,这是意料之中的,我没有找到一种方法来存储他的答案是什么,而不是显示考试表格,显示考试问题和学生回答的答案。

The question remains:问题仍然存在:

  1. Does the LMS store the answers the student gave in the test? LMS 是否存储学生在测试中给出的答案?
  2. Will I need to use another language in parallel?我需要同时使用另一种语言吗? jQuery, PHP, MySQL? jQuery、PHP、MySQL?

Yes, the LMS should store the answers the student provided.是的,LMS 应该存储学生提供的答案。 The data model you commit should be the same data model you get back when re-initialized.您提交的数据 model 应该与重新初始化时返回的数据 model 相同。

An LMS will not expect you to store student answers separately from the data model. LMS 不会期望您将学生答案与数据 model 分开存储。 Attempting to persist sessions on your own will likely confuse the LMS's developers/content managers and frustrate their tracking.尝试自己坚持会话可能会使 LMS 的开发人员/内容经理感到困惑,并阻碍他们的跟踪。

Some platforms modify this implementation to impose pseudo-sessions on a package once a learner has completed/failed/passed the content.一旦学习者完成/失败/通过了内容,一些平台会修改此实现以在 package 上施加伪会话。 Others allow users to reset/retake the package.其他允许用户重置/重新使用 package。

If you are implementing the package and do not wish to handle test retakes, you are not obligated.如果您正在实施 package 并且不希望处理重考,您没有义务。 It is sufficient to store the questions and answers in cmi.interactions and mark cmi.core.score , cmi.core.credit , cmi.core.lesson_status , cmi.objectives.n.status , etc...将问题和答案存储在cmi.interactions中并标记cmi.core.scorecmi.core.creditcmi.core.lesson_statuscmi.objectives.n.status等就足够了...

One solution I've seen is to erase and re-use cmi.interactions for retakes while storing the previous scores in cmi.suspend_data .我见过的一种解决方案是擦除并重新使用cmi.interactions进行重拍,同时将以前的分数存储在cmi.suspend_data中。

If you are implementing a SCORM engine for an LMS... honestly, I'd recommend not attempting.如果您正在为 LMS 实施 SCORM 引擎……老实说,我建议您不要尝试。 The specification is one thing, but attempting to comply with all the eccentricities of individual package creation tools, homebrewed packages, packages desiged for specific LMSs without regard to how they would function elsewhere, and misuse of data model fields to enable in-package features... The specification is one thing, but attempting to comply with all the eccentricities of individual package creation tools, homebrewed packages, packages desiged for specific LMSs without regard to how they would function elsewhere, and misuse of data model fields to enable in-package features. ..

It's a big specification, let alone what has been added/modified/hacked in the last two decades.这是一个很大的规范,更不用说过去二十年来添加/修改/破解的内容了。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM