2

我想使用exams2moodle()来自 R/exams 的 6 个练习模板创建一个包含 300 个随机复制的 Moodle 测验。6 个练习模板依赖于一个数据集,该数据集在第一个练习中从较大的数据库中随机生成为 CSV 文件。

该命令exams2pdf() 只是我想要的,但我想重现exams2pdf()exams2moodle()命令的作用。但是,这只会生成一个包含 300 个类型 1 的问题、300 个类型 2 的问题、...和 ​​300 个类型 6 的测验。我不知道如何强制 Moodle 在同一个测验中结合第一个类型 1 问题第一个类型 2 问题,第一个类型 3 问题,...,和第一个类型 6 问题。然后,创建的考试将与命令exams2pdf()生成的考试相同。

4

1 回答 1

2

对此的简短回答是,这种类型的采样目前在 Moodle 中是不可能的。您只能选择在测验中包含特定问题或从某个池中选择一个随机问题。但是(据我所知)没有办法将跨池的随机问题的选择联系起来。潜在的解决方法是:

  • 而不是有 300 个版本的测验,你只有 10 个版本。然后,您可以将所有 10 个测验放在一起,每个测验都有固定的问题顺序。然后,您需要将参与者分成 10 个组,并将他们分配给十个测验之一。这非常乏味,但可以让您在不修改的情况下使用您的问题。
    技术说明:使用 .Rmd(而不是 .Rnw)练习生成测验时exams2moodle(),您必须设置envir = .GlobalEnv(或其他一些环境)。只有这样,第一个练习中随机生成的数据才会在使用时与后续练习共享knitr(而这是使用时的唯一选项Sweave())。
  • 不是有 6 个单独的练习,而是将它们组合成一个cloze练习。不过,这是否可行,取决于 6 项任务的复杂性。如果它们太复杂,cloze练习就会变得太长太复杂。

有关这些问题的更多讨论,请参阅 R-Forge 上的 R/exams 论坛中的以下主题:

于 2020-06-05T15:12:55.127 回答