Files
rootnode-academy/docs/ROOT_V1_INSTRUCTOR_GUIDE.md
T
ced4568andClaude Sonnet 5 d066410451
Release to Docker Hub / Build & Push Docker Image (push) Canceled after 0s
Release to Docker Hub / Create GitHub Release (push) Canceled after 0s
docs(phase6f): document ROOT_ V1 pilot readiness
New: PHASE6F_ROOT_V1_PILOT_READINESS.md (phase summary), ROOT_V1_CURRICULUM_MANIFEST.md
(canonical V1 scope), ROOT_V1_PREREQUISITE_MAP.md, ROOT_V1_ASSESSMENT_MAP.md,
ROOT_V1_SYLLABUS.md, ROOT_V1_INSTRUCTOR_GUIDE.md, ROOT_V1_STUDENT_REQUIREMENTS.md,
ROOT_V1_INSTRUCTOR_LED_PILOT.md, WINTER_BREAK_CAMP_CURRICULUM_OPTIONS.md.

Updated: ROOT_PROGRAM_ARCHITECTURE.md (course-sequence table reflects real V1 statuses),
ROOT_PILOT_CURRICULUM.md (self-paced-readiness correction), ROOT_PROGRAM_DURATION_MODEL.md
(real post-integration totals: 64.2 V1 hours / 68.3 program-wide), ROOT_CAPSTONE_READINESS.md
(§1b, the new root-09 course-layer gate), platform/README.md (test list).

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-26 18:33:46 -05:00

112 lines
6.1 KiB
Markdown

# ROOT_ V1 Instructor Guide
Phase 6F Step 12 — a practical guide for teaching ROOT_ V1. This does not duplicate any
individual module's own Instructor Notes (every lesson/lab content file ends with an
`## Instructor Notes` section — facilitation tips, timing, common mistakes); it covers what
spans the whole program instead.
## Program overview & audience
See `docs/ROOT_V1_SYLLABUS.md` for the full course sequence, outcomes, and duration. Audience is
approximately age 15+ through adults — readiness (comfort with a keyboard, following multi-step
instructions), not age, is the real gate.
## Using CurriculumView
The instructor curriculum view (`/admin`, Curriculum tab) shows every course/module/activity for
a given student or cohort with the exact same lock/completion state the student sees — plus
`instructor_notes` on every activity (never shown to students). Use it to see precisely where a
student is stuck before a help request even comes in.
## Preparing Labs
Use **Prepare Labs** (classroom/cohort view) to provision every enrolled student's disposable
Lab ahead of a session, rather than each student launching cold when class starts — this was
built and load-tested in Phase 2B and confirmed to run concurrently across a full cohort.
## Classroom workflow
1. Prepare Labs before the session starts.
2. Students work through the current module at their own pace; you see live progress per
student in the classroom view.
3. A student's **Need Help** request notifies you immediately with a category and message —
respond in whatever way your delivery format supports (in person, chat, screen share).
4. If a Lab environment itself seems broken for a student (not just the task being hard), an
instructor can reset it the same way a student can (Reset Scenario & Environment) — this
never touches the student's academic progress.
5. At the end of a session, cohort Labs can be destroyed in bulk (build/reprovision cost, not an
academic reset) — progress survives regardless (proven in Phase 2B/5B).
## Self-paced vs. instructor-led
The platform makes no code-level distinction between the two — the same courses, Labs, and
assessments work identically either way. The difference is entirely in who else is watching:
an instructor-led student additionally has a live instructor able to see their progress and
receive help requests. Timing/pacing guidance for instructor-led delivery lives in each
module's own Instructor Notes and in `docs/ROOT_V1_INSTRUCTOR_LED_PILOT.md`.
## Assessments & Capstone
Formal assessments (ROOT 01/02/03/04/09) and the Capstone are timed and hints-limited by design
— see `docs/ROOT_V1_ASSESSMENT_MAP.md`. Do not pre-brief students on the exact random-pool draw;
it's server-authoritative and drawn fresh per attempt specifically so this isn't possible to
game, and pre-briefing undermines what the assessment is actually checking.
## Help-request workflow
`Need Help` categories exist to help you triage at a glance (e.g. `lab_problem` vs. a conceptual
question) — treat a `lab_problem` report as potentially a real broken environment worth
checking yourself before assuming the student made an error.
## Common student issues
- **"My Lab disappeared / lost my work"** — expected if a Lab was recreated; see the student
Lab-orientation content (`root-01-m00-a02-lesson-disposable-lab`) and reassure them their
academic progress is untouched.
- **Confusing a module's optional activities for a blocker** — `is_required=false` activities
(e.g. ROOT 09's advanced CKS labs) never block module/course completion; the platform will
never require them, but some students assume more is mandatory than actually is.
- **Getting to ROOT 09/10/12 out of order** — real, server-enforced module prerequisites inside
a course (e.g. `root-06-m01`'s own practice bank requires `root-06-m02` first) sometimes
surprise a student used to free-form navigation; this is intentional sequencing, not a bug.
## Lab reset/recreate — what it means
Resetting a Lab rebuilds the disposable environment from scratch; recreating one (e.g. after a
Lab-host failure) does the same at the infrastructure level. Neither ever touches
`activity_completions`, `progress`, or `achievements` — a student's actual academic record.
## What student progress actually means
Course/module/activity `complete` flags are computed live, every time, from real underlying
facts (a real scenario pass, a real assessment pass, or an explicit manual marker for lesson-type
content) — never a separately-maintained flag that could silently drift from reality. See
`docs/COURSE_CONTENT_MODEL.md` §4.
## What not to do
- Don't manually flip a student's completion state via the admin API/database to "help them
along" — it breaks the guarantee that a complete flag reflects real work, and the Phase 6E
security fix means the platform will refuse a manual mark on a still-locked module anyway.
- Don't rely on the legacy `rootnode-quick-assessment` as a course-completion signal for any
V1 course — it's a general diagnostic tool, not wired to any course's own gate.
- Don't assume ROOT 08 or ROOT 11's un-built modules are "coming soon this cohort" — they're
explicitly out of V1 scope (see `docs/ROOT_V1_CURRICULUM_MANIFEST.md`); don't promise
timelines the curriculum doesn't yet support.
## Security boundaries
Every student's Lab is an isolated, disposable, non-privileged-to-the-host container — even
though it runs a real nested Docker Engine and a real k3s cluster inside itself. No student Lab
can reach another student's Lab, the Lab host's own Docker daemon, or any RootNode credential.
This is unchanged infrastructure from earlier phases (see `docs/LAB_ARCHITECTURE.md`,
`docs/ROOT_FOUNDATIONS_LAB_STRATEGY.md`) — instructors do not need to configure anything for
this to hold.
## Troubleshooting/operations notes
If a whole cohort's Labs seem slow to provision, check Provisioner health before assuming a
content problem — this program's content changes never affect Lab boot performance (see
`docs/PHASE6F_ROOT_V1_PILOT_READINESS.md`'s resource observations for real numbers from this
phase's own rehearsals).