R/exams d2l 选择题没有 select 正确答案
R/exams d2l multiple choice question doesn't select correct answer
我使用以下内容从“capital.Rmd”示例创建 D2L 考试(我将问题转换为 schoice
)
exams2blackboard("capitals.Rmd", n =3, name = "testquiz" )
上传testquiz.zip文件后,我发现必须在D2L平台上手动选择正确答案。
我想知道是否有解决方法。
非常感谢,
嗯
这个问题对我来说是个新问题。在 Brightspace/D2L 的早期版本中,通过 exams2blackboard()
导入单选题和多选题练习效果很好。鉴于 CRAN 的当前发布版本和 R-Forge 的开发版本都不适合您,D2L 可能在此期间发生了变化。
D2L 还支持其他导入格式,我们确实试用了其中的一些格式。请参阅 R-Forge R/exams 论坛中的以下讨论:
https://R-Forge.R-project.org/forum/forum.php?thread_id=33404&forum_id=4377&group_id=1337
https://R-Forge.R-project.org/forum/forum.php?thread_id=33657&forum_id=4377&group_id=1337
值得注意的是,我们尝试使用 D2L 内部似乎使用的基于 XML 的 QTI 2.1 格式。然而,D2L 显然使用了 QTI 2.1 的特定自定义风格。应该可以对其进行逆向工程并相应地改进 exams2qti21()
但到目前为止(据我所知)没有人将时间和精力投入到这方面是需要的。
对于简单的 single/multiple 选择题,也可以使用基于 CSV 的交换格式。我整理了一个非常基本的 exams2d2l()
函数,该函数已发布在上面的线程中,并且我还在下面包含了该函数。它可以为单个练习设置 CSV 文件,例如您在上面使用的 capitals.Rmd
练习。对于像这样的纯文本练习,它似乎效果很好,但对于更复杂的元素(图形、代码、数学等)就不行了。
exams2d2l <- function(file, dir = ".", ## n = 1L, nsamp = NULL disabled for now
name = NULL, quiet = TRUE, edir = NULL, tdir = NULL, sdir = NULL, verbose = FALSE,
resolution = 100, width = 4, height = 4, svg = FALSE,
encoding = "", converter = NULL, ...)
{
## for Rnw exercises use "ttm" converter otherwise "pandoc" converter
if(any(tolower(tools::file_ext(unlist(file))) == "rmd")) {
if(is.null(converter)) converter <- "pandoc"
} else {
if(is.null(converter)) converter <- "ttm"
}
## output directory or display on the fly
## output name processing
if(is.null(name)) name <- tools::file_path_sans_ext(basename(file))
## set up .html transformer and writer function
htmltransform <- make_exercise_transform_html(converter = converter, ...)
## create exam with HTML text
rval <- xexams(file,
driver = list(sweave = list(quiet = quiet, pdf = FALSE, png = !svg, svg = svg,
resolution = resolution, width = width, height = height, encoding = encoding),
read = NULL, transform = htmltransform, write = NULL),
dir = dir, edir = edir, tdir = tdir, sdir = sdir, verbose = verbose)
## currently: only a single exercise
rval <- rval[[1L]][[1L]]
## put together CSV
cleanup <- function(x) gsub('"', '""', paste(x, collapse = "\n"), fixed = TRUE)
rval <- c(
'NewQuestion,MC,,,',
sprintf('ID,"%s",,,', cleanup(rval$metainfo$file)),
sprintf('Title,"%s",,,', cleanup(rval$metainfo$name)),
sprintf('QuestionText,"%s",,,', cleanup(rval$question)),
sprintf('Points,%s,,,', if(is.null(rval$metainfo$points)) 1 else rval$metainfo$points),
'Difficulty,1,,,',
'Image,,,,',
paste0('Option,', ifelse(rval$metainfo$solution, 100, 0), ',"', cleanup(rval$questionlist), '",,"', cleanup(rval$solutionlist), '"'),
'Hint,,,,',
sprintf('Feedback,"%s",,,', cleanup(rval$solution))
)
writeLines(rval, file.path(dir, paste0(name, ".csv")))
invisible(rval)
}
如果要选择正确的解决方案,请而不是使用导入 问题库或测验本身的选项。使用Import/Export/Copy组件在课程管理选项卡下。
如果您通过以下步骤导入问题,BrightSpace 会正确选择正确的解决方案。有点长,但似乎正确选择了解决方案。
在课程的课程管理选项卡下,转到
'Import/Export/Copy Components' -> “导入组件” -> 开始 -> (拖放 ZIP 文件)
单击“高级选项...”
对于大文件,此步骤需要几分钟;如果你不点击
高级选项,然后导入会自动导入
将问题输入 'Question Library' 并将生成一个测验
进口问题;你不想要这个。
-> 继续 -> 继续 -> 此时从 'Select Components to Import'
部分选择 'Question Library'
我不会选择“测验”,因为它会自动创建测验
并将其提供给学生。它有不幸的 side-effect
使所有问题可用,这意味着所有版本的
各种动态问题;这不是我们想要的。
->继续->继续。这个阶段需要几分钟的时间
进口。
现在问题库中提供了问题,可用于生成新的测验。每个问题都已经选择了正确的答案。这适用于问题的“schoice”和“mchoice”版本。目前,地块尚未导入,但仍在尝试找出原因。
我使用以下内容从“capital.Rmd”示例创建 D2L 考试(我将问题转换为 schoice
)
exams2blackboard("capitals.Rmd", n =3, name = "testquiz" )
上传testquiz.zip文件后,我发现必须在D2L平台上手动选择正确答案。
我想知道是否有解决方法。
非常感谢,
嗯
这个问题对我来说是个新问题。在 Brightspace/D2L 的早期版本中,通过 exams2blackboard()
导入单选题和多选题练习效果很好。鉴于 CRAN 的当前发布版本和 R-Forge 的开发版本都不适合您,D2L 可能在此期间发生了变化。
D2L 还支持其他导入格式,我们确实试用了其中的一些格式。请参阅 R-Forge R/exams 论坛中的以下讨论:
https://R-Forge.R-project.org/forum/forum.php?thread_id=33404&forum_id=4377&group_id=1337
https://R-Forge.R-project.org/forum/forum.php?thread_id=33657&forum_id=4377&group_id=1337
值得注意的是,我们尝试使用 D2L 内部似乎使用的基于 XML 的 QTI 2.1 格式。然而,D2L 显然使用了 QTI 2.1 的特定自定义风格。应该可以对其进行逆向工程并相应地改进 exams2qti21()
但到目前为止(据我所知)没有人将时间和精力投入到这方面是需要的。
对于简单的 single/multiple 选择题,也可以使用基于 CSV 的交换格式。我整理了一个非常基本的 exams2d2l()
函数,该函数已发布在上面的线程中,并且我还在下面包含了该函数。它可以为单个练习设置 CSV 文件,例如您在上面使用的 capitals.Rmd
练习。对于像这样的纯文本练习,它似乎效果很好,但对于更复杂的元素(图形、代码、数学等)就不行了。
exams2d2l <- function(file, dir = ".", ## n = 1L, nsamp = NULL disabled for now
name = NULL, quiet = TRUE, edir = NULL, tdir = NULL, sdir = NULL, verbose = FALSE,
resolution = 100, width = 4, height = 4, svg = FALSE,
encoding = "", converter = NULL, ...)
{
## for Rnw exercises use "ttm" converter otherwise "pandoc" converter
if(any(tolower(tools::file_ext(unlist(file))) == "rmd")) {
if(is.null(converter)) converter <- "pandoc"
} else {
if(is.null(converter)) converter <- "ttm"
}
## output directory or display on the fly
## output name processing
if(is.null(name)) name <- tools::file_path_sans_ext(basename(file))
## set up .html transformer and writer function
htmltransform <- make_exercise_transform_html(converter = converter, ...)
## create exam with HTML text
rval <- xexams(file,
driver = list(sweave = list(quiet = quiet, pdf = FALSE, png = !svg, svg = svg,
resolution = resolution, width = width, height = height, encoding = encoding),
read = NULL, transform = htmltransform, write = NULL),
dir = dir, edir = edir, tdir = tdir, sdir = sdir, verbose = verbose)
## currently: only a single exercise
rval <- rval[[1L]][[1L]]
## put together CSV
cleanup <- function(x) gsub('"', '""', paste(x, collapse = "\n"), fixed = TRUE)
rval <- c(
'NewQuestion,MC,,,',
sprintf('ID,"%s",,,', cleanup(rval$metainfo$file)),
sprintf('Title,"%s",,,', cleanup(rval$metainfo$name)),
sprintf('QuestionText,"%s",,,', cleanup(rval$question)),
sprintf('Points,%s,,,', if(is.null(rval$metainfo$points)) 1 else rval$metainfo$points),
'Difficulty,1,,,',
'Image,,,,',
paste0('Option,', ifelse(rval$metainfo$solution, 100, 0), ',"', cleanup(rval$questionlist), '",,"', cleanup(rval$solutionlist), '"'),
'Hint,,,,',
sprintf('Feedback,"%s",,,', cleanup(rval$solution))
)
writeLines(rval, file.path(dir, paste0(name, ".csv")))
invisible(rval)
}
如果要选择正确的解决方案,请而不是使用导入 问题库或测验本身的选项。使用Import/Export/Copy组件在课程管理选项卡下。
如果您通过以下步骤导入问题,BrightSpace 会正确选择正确的解决方案。有点长,但似乎正确选择了解决方案。
在课程的课程管理选项卡下,转到
'Import/Export/Copy Components' -> “导入组件” -> 开始 -> (拖放 ZIP 文件)
单击“高级选项...”
对于大文件,此步骤需要几分钟;如果你不点击 高级选项,然后导入会自动导入 将问题输入 'Question Library' 并将生成一个测验 进口问题;你不想要这个。
-> 继续 -> 继续 -> 此时从 'Select Components to Import'
部分选择 'Question Library'我不会选择“测验”,因为它会自动创建测验 并将其提供给学生。它有不幸的 side-effect 使所有问题可用,这意味着所有版本的 各种动态问题;这不是我们想要的。
->继续->继续。这个阶段需要几分钟的时间 进口。
现在问题库中提供了问题,可用于生成新的测验。每个问题都已经选择了正确的答案。这适用于问题的“schoice”和“mchoice”版本。目前,地块尚未导入,但仍在尝试找出原因。