R/exams:负分/扣分不适用于不正确的数字答案

R/exams: Negative Points / Deduction not working for incorrect Numeric Answers

我在 r/exams 中创建了测验,其中包含我在 Moodle 中使用的“num”和“string”答案字段。 对于不正确的答案,我想给负分(例如该答案的可能分数的 -0.25%)。 理论上 r/exams 中有函数允许这样做 (exams_eval),但对我来说它们只适用于选择题,而不适用于数字题。

我还尝试了不同的“规则”设置和 r/exams 命令的变体,但没有成功。数学考试不能负分吗?

R/exams 命令:

exams2moodle("example.Rmd", cloze = list(eval = list(partial = TRUE, rule = "false", negative = -0.25)))

Rmd代码(实际代码比较复杂,这只是数字答案的示例):

`{r data generation, echo = FALSE, results = "hide"}
a <- 1
b <- 2
n = a + b
m = a * b
sol <- c(n, m)
`
Question
========
Calculate the results of the following tasks:  
`r a` + `r b` = ##ANSWER1##  
`r a` * `r b` = ##ANSWER2##  

Solution
========
The solution is:
`r a` + `r b` = `r n`  
`r a` * `r b` = `r m`  

Meta-information
================
extype: cloze
exsolution: `r paste(sol, collapse = "|")`
exclozetype: num|num
extol: 0.01

这是个好问题。实际上 exams2moodle() 应该改进以在出现此类 eval 规范时发出警告。 (顺便说一句,我们本周早些时候刚刚在作者之间讨论过这个问题。)

据我所知,无法为 cloze 练习中的 numstring 元素分配负分。如果您查看 https://docs.moodle.org/310/en/Embedded_Answers_(Cloze)_question_type#Syntax_for_numerical_Cloze_questions 上的官方文档,您会发现它讨论了如何在出现错误答案时提供反馈文本。但这始终与 0% 相关联。如果您只是在相应的嵌入式答案中输入类似 -25% 的内容,则可以将其导入 Moodle 但实际上会被忽略。

唯一可能有用的参数是 penalty 参数 - 但我不确定这在 Moodle 中如何工作。在 exams2moodle() 和 Moodle XML 代码中很容易指定,但我找不到示例说明它在 Moodle 测验中的效果。