Workflow Pattern for Large Undergraduate Courses

This vignette is an illustrative scenario. Actual classroom deployment is not verifiable from repository contents.

Large undergraduate courses need consistent materials, reproducible updates, and clear handoffs between instructors and teaching assistants. tutorizeR is designed for this kind of operational teaching workflow.

Course folder workflow

course/
  lessons/
    week01-introduction.qmd
    week02-data-import.qmd
    week03-visualization.qmd
  question-bank/
    core-concepts.yml
  tutorials/
  reports/

Batch conversion

library(tutorizeR)

course_dir <- file.path(tempdir(), "course")
qb <- load_question_bank(file.path(course_dir, "question-bank"))

folder_report <- convert_folder(
  dir = file.path(course_dir, "lessons"),
  recursive = TRUE,
  output_dir = file.path(course_dir, "tutorials"),
  format = "learnr",
  assessment = "both",
  question_bank = qb,
  mcq_source = "mixed",
  lint_strict = TRUE,
  overwrite = TRUE
)

print(folder_report)

Teaching assistant review

Teaching assistants can review generated outputs and reports before release:

library(tutorizeR)

lint <- lint_source(
  input = file.path(course_dir, "lessons", "week03-visualization.qmd"),
  question_bank = qb,
  strict = FALSE
)

print(lint)

Operational benefits

The main benefit is not that tutorials are generated automatically once. The benefit is that a whole course team can regenerate the same materials after corrections, new datasets, or revised learning objectives.