我正在使用 R/exams 生成 Moodle 考试(感谢 Achim 和团队)。我想制作一个介绍性页面来设置考试场景。有没有办法做到这一点?(现在,我正在生成一个schoice
空白answerlist
。)谢谢!若昂·马罗科
1 回答
通常,我不会在考试“内部”而是“外部”这样做。在 Moodle 中,您可以在编辑测验时在“常规设置”中包含“描述”。这是我将所有一般信息放在这里的地方,以便学生在开始实际问题之前阅读此内容。
如果您想在此描述中包含 R 生成的内容(R 输出、图形、数据......),我通常会将其包含在“问题 1”中,而不是作为没有任何实际问题的“问题 0”。
不过,"description"
问题类型可用于后者。但是,目前不支持exams2moodle()
(我将其放在愿望清单上)。您可以通过以下步骤手动解决此问题:
- 创建一个
string
包含所需内容的问题并将关联设置expoints
为0
。 - 像往常一样使用 生成 Moodle XML 输出
exams2moodle()
。 在文本编辑器中或仅在 RStudio 中打开 XML 文件并替换
<question type="shortanswer">
为<question type="description">
相关问题。在 XML 文件中,对于相关问题省略
<answer>
...。</answer>
警告:如您所知,在同一考试中的后续练习中共享相同的数据在技术上是可行的。如果.Rnw
使用练习,练习中的所有变量都会在全局环境 ( .GlobalEnv
) 中创建,并且无论如何都可以轻松访问。如果.Rmd
使用练习,则需要将envir
参数设置为专用的共享环境(例如,.GlobalEnv
或new.env()
exams2moodle(..., envir = ...)
. 然而,如果这样做了,则不必在 Moodle 中绘制随机练习,因为这会破坏练习之间的联系(即,问题 1 中的第一次复制不一定跟着问题 2 中的第一次复制)。相反,您必须将测试与固定选择的练习放在一起(即,始终对所有问题进行第一次复制或对所有问题进行第二次复制……)。