我教本科统计学,并且有兴趣管理个性化的在线作业.我已经解决了这个难题的一个部分,使用一个问题的多个版本的代latex/markdown+ knitr/sweave,使用seeds.
我现在有兴趣开发一个基于网络的系统,该系统将使用生成的各种版本,并在线为每个学生管理不同的版本.我特地到与形式(几个网站google docs,wufoo,formsite等),但它们都没有允许编程方式创建问卷.
我正在标记这个,R因为这是我最熟悉的语言,并且是解决问题第一部分的关键.我知道R有几个基于Web的框架,并且想知道它们中是否有任何一个适合这项工作.
我并不反对解决方案在其他语言一样Ruby,Python等等.但关键的考虑因素是编程提供在线任务的能力.我知道像这样的工具WebWork,但它们需要使用,Perl并且接口通常非常笨重.
如果您认为我错过了更适合的框架,请随意在帖子中添加标签.
编辑.让我通过举个例子说清楚.目前,如果我想在线管理作业,我只需创建一个Google表格,将链接发送给我的学生,并在电子表格中收集所有回复,并自动评分.如果我只有一个版本的作业,这是有效的.
我的问题是,如果我想为每个学生管理不同版本的作业,并收集他们的回答,我该怎么做?
当我使用包考试来产生问题时,即使使用特殊字符,我也可以用英语完美地完成.例如,我可以使用exams包编译的Rnw问题:
<<echo=FALSE, results=hide>>=
## DATA GENERATION
P <- round(runif(n = 1, min = 1000, max = 2000), digits = 2)
S <- round(runif(n = 1, min = P + 500, max = 3000), digits = 2)
## QUESTION/ANSWER GENERATION
i <- round((S - P)/P, digits = 2)*100
@
\begin{question}
Qual \'e a taxa de juros simples obtida por uma aplica\c{c}\~ao de \textdollar $\Sexpr{P}$ que, ap\'os um ano, produz um montante de \textdollar$\Sexpr{S}$?
\end{question}
\begin{solution}
Os juros s\~ao calculados …Run Code Online (Sandbox Code Playgroud) 在 RMarkdown 中我通常使用类似
```{r}
knitr::include_graphics("myimage.png")
```
Run Code Online (Sandbox Code Playgroud)
将已有的图像添加到输出中,但这不能通过exams2xyz().
fig.path = "", fig.caption = ""并不能解决问题。
经典的 Markdown 方式也行不通。
有什么想法吗,我哪里错了?
编辑:感谢@jaySF,我现在意识到工作目录问题,但仍然面临将数字嵌入(例如)用于moodle导入的.xml问题的挑战。
我的目标是使用 R/exams 和 Moodle 创建一个问题,包括在 Rmd 练习文件中生成的一些图。学生应口头描述情节,然后手动评分练习。
是否可以用来exams2moodle为 Moodle 创建这样一个开放式的自由文本问题?它没有extype。在文档中唯一的提示是:
“为了在moodle中生成自由文本问题,可以通过 指定额外的参数\exextra。目前支持以下选项:”。
我试图向\exextra元信息添加参数,但它没有改变任何东西。
我们目前使用 R/exams 在我们的编码课程中创建考试。我们发现学生可以轻松地复制和粘贴代码块并不假思索地运行它。例子:
因此,我们想知道 R/exam 或其他包中是否存在可以防止这种情况的参数/选项,例如,将代码块转换为图像。然后,学生就无法复制和粘贴我们的代码。
我想做什么:
我想r-exams在以下过程中使用:
exams2pdf(..)eval_nops(...))为答案评分我的问题:
调用该函数eval_nops()是手动评分问题的首选方法r-exams吗?
如果没有,更喜欢哪种方式?
我尝试过的:
我知道该exam2nops()功能,并且我知道它会返回一个.RDS存储正确答案的文件。因此,我基本上有我需要的东西。然而,我发现这个过程不是很简单,因为正确的答案被埋藏在 RDS 文件的深处。
我正在使用exams2moodle()R/exams 在 Moodle 中创建多项选择和填空题。在准备考试之前,我想确定 Moodle 是如何计算成绩的。
在我看来,在多项选择题中,评估策略的默认设置是partial = TRUE, rule = "false", negative = FALSE. 那是对的吗?
对于完形填空题,分配给完形填空题的总分似乎在子问题之间平均分配。我想知道是否有某种方法可以对单个子问题赋予不同的权重。
预先感谢您的任何帮助!
我使用 bookdown 创建了一本“书”。我希望能够添加交互式测验,而无需闪亮等。
是否可以将 R/exams ( http://www.R-exams.org/ ) 与 bookdown 一起使用?我主要对 HTML 输出感兴趣;PDF 输出是一种奖励,但几乎不是必需的。该网页承诺:
基于(潜在的)动态练习模板,可以为各种系统创建大量个性化考试/测验/测试:[...] 以及创建自定义输出(PDF、HTML、Docx 等)的可能性。
练习类型包括多项选择题或单选题、数字或文本答案,或这些的组合。格式化可以在 Markdown 或 LaTeX 中完成,并且可以使用 R 生成动态内容,例如随机数、图形、数据集或无序文本块。
听起来不错。有谁知道是否可以使用带有 bookdown 的考试(即使只是一些功能)?
如果可能:如何?任何指针?
如果不可能:有没有人知道做类似事情的方法?
R/exams 是为学生生成考试的绝佳工具。
当数值练习有很大的解时,会抛出错误:
Error in string2num(exsolution) :
all numeric items must be finite and non-missing
Run Code Online (Sandbox Code Playgroud)
这是一个错误还是我错过了什么?
这是引发错误的最小练习(“test-debug.Rmd”):
Question
========
Some text
Solution
========
Some solution
```{r}
sol <- 1e4
```
Meta-information
================
exname: test-debug
extype: num
exsolution: `r sol`
Run Code Online (Sandbox Code Playgroud)
我曾经exams2html渲染过这个练习:
exams2html(file = "test-debug.Rmd",
edir = path_to_exercise,
dir = path_output)
Run Code Online (Sandbox Code Playgroud)
考试2.4-0
当我加载 dplyr 库时,我注意到 R 考试包中的奇怪行为。下面的示例仅在我显式调用 dplyr 命名空间时才有效,如注释中所示。请注意,该错误仅发生在新会话中,即您需要重新启动 R 才能查看我所看到的内容。您需要将以下内容放在一个文件中exam.Rmd,然后调用
library(exams)
library(dplyr)
exams2html("exam.Rmd") # in pwd
# this is exam.Rmd
```{r datagen,echo=FALSE,results='hide',warning=FALSE,message=FALSE}
df = data.frame(i = 1:4, y = 1:4, group = paste0("g",rep(1:2,2)))
# works:
b2 = diff(dplyr::filter(df,group!="g1")$y)
b3 = diff(dplyr::filter(df,group!="g2")$y)
# messes up the complete exercise:
# b2 = diff(filter(df,group!="g1")$y)
# b3 = diff(filter(df,group!="g2")$y)
nq = 2
questions <- solutions <- explanations <- rep(list(""), nq)
type <- rep(list("num"),nq)
questions[[1]] = "What is the value of $b_2$ rounded to …Run Code Online (Sandbox Code Playgroud)