--- title: "Getting Started with tutorizeR" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Getting Started with tutorizeR} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set(collapse = TRUE, comment = "#>") ``` ## User goal This vignette helps an instructor convert one existing `.qmd` or `.Rmd` lesson into an interactive tutorial. The pedagogical goal is to keep one source document while generating student-facing practice material. ## Minimal example ```{r eval=FALSE} library(tutorizeR) work_dir <- file.path(tempdir(), "tutorizeR-minimal") report <- tutorize( input = file.path(work_dir, "lesson.qmd"), output_dir = work_dir, format = "learnr", assessment = "both", overwrite = TRUE ) print(report) ``` The report records the input file, output file, format, assessment mode, generated exercises, MCQs, warnings, lint results, and render status. ## Realistic installed example ```{r eval=FALSE} library(tutorizeR) example_dir <- system.file("examples", "example_course_module", package = "tutorizeR") work_dir <- file.path(tempdir(), "tutorizeR-example") 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) question_bank <- load_question_bank(file.path(example_dir, "question-bank")) report <- tutorize( input = file.path(work_dir, "lesson-source.qmd"), output_dir = work_dir, format = "learnr", assessment = "both", question_bank = question_bank, mcq_source = "mixed", overwrite = TRUE, verbose = FALSE ) print(report) ``` ## Batch conversion ```{r eval=FALSE} library(tutorizeR) course_dir <- file.path(tempdir(), "course_material") output_dir <- file.path(course_dir, "tutorials") folder_report <- convert_folder( dir = course_dir, recursive = TRUE, output_dir = output_dir, format = "learnr", assessment = "both", overwrite = TRUE ) print(folder_report) ``` ## Source annotation tags Use comments inside R chunks: - `# tutorizeR: skip` - `# tutorizeR: exercise-only` - `# tutorizeR: solution-only` - `# tutorizeR: mcq` - `# tutorizeR: narrative-only` - `# tutorizeR: locked` - `# tutorizeR: hints=Hint 1|Hint 2` ## Limits Generated tutorials should be reviewed before release. The package can scaffold exercises, solutions, MCQs, and reports, but it does not decide whether a prompt is pedagogically appropriate for a course. Formal learning-outcome evaluation: Not verifiable from repository contents. ## Reproducibility checklist ```{r eval=FALSE} library(tutorizeR) example_dir <- system.file("examples", "example_course_module", package = "tutorizeR") source(file.path(example_dir, "run-example.R")) ```