1  Introduction

curriculum maps the relationships among course objectives, session objectives, and assessment items. It uses models from rtemis.llm to classify cognitive demand and score alignment, then computes coverage and level comparisons from the recorded results.

The package supports two mapping directions:

Mapping Criterion Candidate Question
Course to session Course objective Session objective Does the session objective address the course objective?
Session to assessment Session objective Assessment item Does the assessment item address the session objective?

Alignment is evaluated from the supplied text. The results support review of the documented curriculum; they do not measure classroom instruction or student attainment. Interpretation depends on the scoring rubric, model configuration, input completeness, and selected threshold.

1.1 Installation

Install the package from the rtemis R-universe repository:

install.packages(
  "curriculum",
  repos = c(
    rtemis = "https://rtemis-org.r-universe.dev",
    CRAN = "https://cloud.r-project.org"
  )
)

Optional packages support specific operations: yaml for course files, readxl for Excel input, pdftools for PDFs, pandoc for document conversion, and rtemis.draw for interactive figures. Install the packages required by the workflow. Model configuration and provider setup are described in the rtemis.llm documentation.

1.2 A complete course example

Download the example course and save it as examples/course.yaml relative to the working directory. It contains two course objectives, four session objectives, and four assessment items.

library(curriculum)
library(rtemis.llm)

course <- read_course("examples/course.yaml")
findings <- check_objectives(course, course_id = "demo")
plan_mapping(course, course_id = "demo")

Reading, checking, and planning do not call a model. The following configuration is a template: replace "your-llm-model" with an available model that supports the structured responses required by rtemis.llm.

classification_config <- config_Ollama(
  model_name = "your-llm-model",
  temperature = 0
)
scoring_config <- classification_config

cm <- map_curriculum(
  course,
  classification_config = classification_config,
  scoring_config = scoring_config,
  course_id = "demo",
  scoring_system = "ioc",
  threshold = 0.5,
  outdir = "runs/demo"
)

saveRDS(cm, "demo_mapping.rds")
report_curriculum(cm, "demo_report.html")

This run classifies the supplied text, scores both mapping directions, retries failed alignment scores by default, and compares cognitive levels among aligned pairs. Completed work is saved under outdir. Rerunning the same call resumes from compatible checkpoints.

Code examples that call models are shown as templates and are not executed when this book is rendered. Their outputs depend on the selected model and inputs.

1.3 Guide to the workflow

Task Chapter
Define and interpret cognitive demand Bloom’s taxonomy
Import objectives and review their structure Reading objectives
Extract and review assessment items Reading assessments
Select a rubric and scoring model Scoring alignment
Estimate work and resume a saved run Planning and resuming
Run the complete analysis Mapping a course
Classify text and compare cognitive levels Classification and consistency
Inspect alignment and session coverage graphically Visualization
Compare models or scoring configurations Comparing mappings
Export findings and document the analysis Reports and reproducibility

The API reference documents the complete function signatures and return values.

© 2026 E.D. Gennatas