Data science assignments are easier to maintain when the instructor
can keep one source document and regenerate student-facing materials
after revisions. tutorizeR supports that workflow by
converting annotated source documents into tutorials with exercises and
solutions.
assignment-week03/
lesson-source.qmd
data/
student_activity.csv
generated/
week03-tutorial.Rmd
conversion-report.json
library(tutorizeR)
assignment_dir <- file.path(tempdir(), "assignment-week03")
output_dir <- file.path(assignment_dir, "generated")
source_file <- file.path(assignment_dir, "lesson-source.qmd")
report <- tutorize(
input = source_file,
output_dir = output_dir,
format = "learnr",
assessment = "both",
seed = 20260531,
overwrite = TRUE,
lint_strict = TRUE
)
write_tutorize_report(
report = report,
file = file.path(output_dir, "conversion-report.json"),
format = "json"
)For teaching workflows, a fixed seed makes generated setup chunks reproducible. This is useful when students, teaching assistants, and instructors need to see the same randomized example or simulated dataset.
library(tutorizeR)
assignment_dir <- file.path(tempdir(), "assignment-week03")
output_dir <- file.path(assignment_dir, "generated")
manifest <- export_lms_manifest(
input = file.path(assignment_dir, "lesson-source.qmd"),
output_file = file.path(output_dir, "lms-manifest.json"),
profile = "canvas",
include_solutions = FALSE
)
print(manifest)The manifest is a local metadata artifact. Direct LMS publication is not part of the current package functionality.