Files
classroomio/apps/docs/content/docs/programs.mdx
T
Rotimi Best 81294a47f9 feat: live class sessions, CE workflow, and docs (#683)
Adds live-class session scheduling on lessons (join link, date/time,
timezone) with automatic 24h and 1h reminder emails plus a calendar
invite (.ics), a time-change notification with an updated invite, a
teacher-authored welcome email and session invite on enrollment, and a
"Notify students" quiz nudge.

LMS gets an upcoming live-sessions card and Join buttons, plus a
reusable live-session card component (3 states) in @cio/ui with a
Storybook story. The sidebar content tree now reflects sequential
progression locking like the content list, and the course-completion
confetti regression is fixed.

Org-based emails no longer reference ClassroomIO by name. Docs add
live-class, welcome-email, and course-progression guides, expand the
certificates guide (design, signatures, corrected labels), move
plan-required callouts to the top, flatten how-to-guides to the docs
root with redirects, and add screenshots. Includes an add-docs-image
skill.
2026-06-22 05:43:48 +01:00

68 lines
3.3 KiB
Plaintext

---
title: Programs
description: Learn what Programs are in ClassroomIO, how goals work, and what students see in the Programs view.
---
import { Callout } from 'fumadocs-ui/components/callout';
**Programs** group multiple courses into a structured learning path. Use them when students need to complete a set of courses toward a shared outcome (onboarding, certification prep, role-based training). Individual courses still live in the LMS; programs add goals and a dedicated **Programs** view for students.
## Programs vs courses
| Concept | Scope | Student view |
| --- | --- | --- |
| **Course** | Single content container with lessons | **Home**, **My Learning**, **Explore** |
| **Program** | Multiple courses with shared goals | **Programs** in the LMS |
A student can be enrolled in courses without belonging to a program, and in a program that references several courses. See [Student Dashboard](/docs/student-dashboard) for how those views fit together.
## Admin workflow
From the admin dashboard:
1. Create a program and add courses to it.
2. Configure program **Settings** (metadata, visibility, assignments).
3. Add **Goals** that define what success looks like.
4. Assign students to the program (existing students or by email invite).
Students assigned to a program see it under **Programs** in the LMS.
## Program goal types
When you add a goal in **Programs → Settings → Goals**, you pick a **type**. Each type measures progress differently.
| Type | Label in the app | What it measures |
| --- | --- | --- |
| `complete_all` | Complete all selected courses | Every selected course must be finished |
| `n_of_m` | Complete N of M selected courses | Student must finish a required count from the courses you select |
| `score` | Score above threshold on every course | Minimum score on each selected course |
| `pass_rate` | Team pass-rate threshold | Aggregate pass rate across the group |
| `readiness` | Readiness (no deadline) | Readiness tracking without a fixed deadline |
### Complete N of M selected courses (`n_of_m`)
This type asks: "finish at least **N** courses from the list I picked." You select the courses, then set **required count** (N). N cannot be larger than the number of courses selected.
If you see wording like "N of M" in the dropdown, **M** is the number of courses you selected, not a separate field called "cells."
<Callout type="info" title="Deadlines on goals">
Goals can also have deadline settings (absolute date, relative to join, recurring, or none). Configure these in the same goal form when creating or editing a goal.
</Callout>
## What students see
Students who belong to a program open **Programs** in the LMS to see their tracks and goal progress. Individual course lessons still open from enrolled courses in **Home** or **My Learning**.
| Need | Where to look |
| --- | --- |
| Progress on a program track | **Programs** |
| Lessons inside one course | **Home** or **My Learning** |
| Optional courses not yet joined | **Explore** |
## Related guides
- [Student Dashboard](/docs/student-dashboard) — Programs vs My Learning vs Explore
- [How Course Enrollment Works](/docs/course-enrollment) — how students join courses inside a program
- [Course](/docs/course) — single-course overview
- [Roles and Permissions](/docs/roles-and-permissions) — who can manage programs and courses