Assessment modes let instructors decide whether a lesson should generate coding practice, conceptual questions, or both.
library(tutorizeR)
work_dir <- file.path(tempdir(), "tutorizeR-assessment")
source_file <- file.path(work_dir, "lesson.qmd")
tutorize(source_file, output_dir = work_dir, assessment = "code")
tutorize(source_file, output_dir = work_dir, assessment = "mcq")
tutorize(source_file, output_dir = work_dir, assessment = "both")code: generate exercise and solution scaffolds.mcq: generate MCQ blocks only.both: generate code exercises, solutions, and
MCQs.question: "Which variable identifies the academic program?"
answers:
- text: "program"
correct: true
- text: "quiz_score"
correct: falseIn a source lesson, this YAML would be placed inside a
tutorizeR-mcq fenced block.
library(tutorizeR)
example_dir <- system.file("examples", "example_course_module", package = "tutorizeR")
work_dir <- file.path(tempdir(), "tutorizeR-assessment")
dir.create(work_dir, recursive = TRUE, showWarnings = FALSE)
file.copy(file.path(example_dir, "lesson-source.qmd"), work_dir, overwrite = TRUE)
file.copy(file.path(example_dir, "student_activity.csv"), work_dir, overwrite = TRUE)
qb <- load_question_bank(file.path(example_dir, "question-bank"))
report <- tutorize(
input = file.path(work_dir, "lesson-source.qmd"),
output_dir = work_dir,
assessment = "both",
question_bank = qb,
mcq_source = "mixed",
overwrite = TRUE,
verbose = FALSE
)
print(report$mcq)Generated MCQs are scaffolds. Instructors should verify that questions are aligned with learning objectives and that distractors are plausible. The package does not measure whether an MCQ improves learning.