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 论坛中的以下讨论:

值得注意的是,我们尝试使用 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”版本。目前,地块尚未导入,但仍在尝试找出原因。