Skip to contents

The file carries the course's descriptive fields, its objectives, its sessions, and optionally its assessments:

Usage

read_objectives(file)

Arguments

file

Path to YAML file containing course and session objectives

Value

A named list with elements "course_name", "title", "term", "objectives", "sessions", and "assessments" where the file supplies it. Where the file cites source material, "sources" carries the registry and "session_sources" (and "assessment_sources") carry each objective's resolved records, positionally aligned with the objectives they belong to and NULL for those with none.

Details

course_name: Datasci 213
title: Programming for Health Data Science in R I
term: Summer 2025

objectives:
  - Apply R's core data types to represent a health dataset.

sessions:
  session_01:
    - Run R code at the console and interpret the output.

assessments:          # optional
  assignment_1:
    - Compute the median length of stay by ward.

assessments is optional; supply it and map_curriculum() runs the session-to-assessment direction as well. The keys under sessions and assessments become part of the generated ids, so they should be stable across runs.

Source material

An objective may instead be written as a mapping carrying its text plus the material it is taught from. A sources block names those materials once so that each citation is a reference plus a locator:

sources:
  pdsr:
    type: book
    title: Programming for Data Science in R
    url: https://pdsr.rtemis.org

sessions:
  session_02:
    - Data Structures: Vectors, matrices, lists, data frames
    - text: "Data Types: Logical, integer, double, character"
      source: {ref: pdsr, locator: "Ch. 8", url: "https://pdsr.rtemis.org/DataTypes.html"}

Both forms mix freely, so a file written before sources existed reads exactly as it did. source takes one record, a list of records, or a bare string for a citation with nowhere to point. A record naming ref inherits the registry entry's fields, and anything it states itself wins.

Sources are metadata and take no part in alignment. They come back in session_sources rather than in sessions, which stays a plain character vector per session – so map_course_to_sessions(), classify_objectives() and everything else read the objective as written, which is what students and reviewers read. What sources are for is the step before mapping: giving an agent the chapter a topic is taught from so it can draft or revise Bloom's-formatted objectives grounded in the material.

Coverage is expected to be partial. Material is also taught by demonstration, and a text may still be growing, so an objective with no source is not a gap – read the other way, it is a list of what the material has yet to cover.

Author

EDG