You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R/Exams结合Canvas New Quizzes:题库分组与个性化测验工作流咨询

R/Exams + Canvas New Quizzes 实操指南

整体工作流

  1. 编写单题型Rmd模板:包含随机化逻辑、题干、答案、元数据(知识点、所属组等)
  2. 用R批量生成多版本试题并打包为QTI文件:通过exams2qti21指定试题组、测验规则
  3. 导入QTI包到Canvas:直接生成带规则的测验或归入库
  4. 少量收尾操作:验证配置、发布测验

用R指定题库/试题组与测验参数

1. 给试题标记组属性

在Rmd的YAML元数据里添加tags或category,用来指定试题所属的组/题库,示例:

title: "矩阵逆运算选择题"
tags: ["线性代数", "矩阵", "期中测验组1"]
category: "期中测验题库"

生成QTI时这些元数据会被保留,导入Canvas后自动归类到对应组。

2. 批量生成同题型多版本并归组

用循环或lapply生成多版本试题,再通过exams2qti21统一指定组信息:

set.seed(456) # 固定随机种子保证可复现
# 生成10个版本的矩阵试题
matrix_items <- lapply(1:10, function(i) {
  exams::xercise("matrix_inverse.Rmd", name = paste0("matrix_inv_q", i))
})

# 生成带组信息的QTI包
exams2qti21(matrix_items,
            name = "期中测验-矩阵组",
            meta = list(category = "期中测验题库", tags = ["组1"]),
            directory = "./canvas_qti")

导出的ZIP包导入Canvas后,所有试题会自动进入指定的题库/组。

3. 直接生成带测验规则的QTI包

通过quiz参数在R里配置测验层面的规则,比如抽题数量、时间限制、总分:

# 假设已经生成了组1、组2的试题列表
all_items <- c(matrix_items, vector_items)

exams2qti21(all_items,
            name = "2024线性代数期中测验",
            quiz = list(
              title = "线性代数期中测验",
              description = "从每个知识点组抽取1题,共2题,限时60分钟",
              time_limit = 60, # 单位:分钟
              questions = list(
                list(category = "组1", count = 1), # 从组1抽1题
                list(category = "组2", count = 1)  # 从组2抽1题
              ),
              scoring = list(total_points = 10)
            ),
            directory = "./quiz_qti")

这个ZIP包导入Canvas后,会直接创建一个已配置好规则的测验,无需手动设置抽题、时间等。

Canvas端最少化手动操作

  • 导入QTI包:在New Quizzes里选「Import」,上传生成的ZIP文件即可
  • 验证配置:导入后检查试题组归类、测验规则是否符合预期,偶尔微调分值(若R参数和Canvas格式有细微差异)
  • 发布测验:设置发布时间、可见范围,这一步目前无法通过R自动完成,需手动操作

注意事项

  • 务必使用最新版exams包:对Canvas New Quizzes的QTI 2.1支持更完善,减少兼容性问题
  • 先单题测试:先导出单个试题的QTI,导入Canvas确认格式正确后再批量处理
  • 元数据统一:Rmd里的category/tags要和Canvas的题库名称对应,避免归类错误

内容的提问来源于stack exchange,提问作者Vinh Nguyen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 19:12:17