# 5. Course Assignment

User Type: **Super Administrator**
Source: *Mi Digital Academy - Education CRM Features Document*

---

## 5. Course Assignment

### 5.1 Assign Courses to Student Groups
**What it does:** Assigns courses to groups of students so a set of learners is enrolled in (or given access to) a course together: the Super Administrator selects the course and the student group (a class, a cohort, a segment) and assigns the course to the group. The group's members then have the course in their learning context, with the assignment tracked.

**Sub-features:**
- Assign a course to a student group (class, cohort, segment)
- Group selection: the target group chosen from the platform's groups
- Bulk enrollment: the group's members enrolled in the course together
- Assignment record: which course is assigned to which group, when
- Unassignment: removing a course from a group (with the impact reviewed)
- Assignment list: the courses assigned per group, and the groups per course
- Audit logging of assignment/unassignment

**Super Administrator User Journey:**
1. A cohort of Grade 10 learners needs the Mathematics course. Super Admin opens Course Assignment, selects the course, and selects the target group (the Grade 10 cohort).
2. Confirms the group's membership (the learners in the group) and assigns the course to the group.
3. The platform enrolls the group's members in the course together; each member now has the course in their learning context.
4. The assignment is recorded: the course, the group, and the timestamp, so the assignment is auditable.
5. Reviews the assignment list: the courses assigned to the group (its learning load) and the groups the course is assigned to (its reach).
6. For a group that no longer needs the course (a cohort that has moved on), Super Admin reviews the impact (members' progress) and unassigns the course from the group.
7. For a new group formed (a new cohort), Super Admin assigns the relevant courses to it, setting up its learning context.
8. Each assignment and unassignment is audit-logged with the course, the group, and the timestamp.

**Rules & Edge Cases:**
- An assignment links a course to a group; the group's members are enrolled together.
- The assignment is recorded (course, group, timestamp); it is auditable.
- An unassignment is reviewed for impact (members' in-progress work) before it is done; the impact is handled, not silently dropped.
- The assignment list shows both directions (courses per group, groups per course), so the reach and load are visible.
- A group can have multiple courses assigned; a course can be assigned to multiple groups.
- Assignment/unassignment is audit-logged with the course, group, and timestamp.

### 5.2 Create Custom Learning Paths
**What it does:** Builds custom learning paths: a curated, sequenced set of courses (and units) for a specific learner or group, tailored to a goal rather than a standard catalog track. The Super Administrator assembles the path from the available courses, sequences it, and assigns it, so the learner follows a personalized route through the platform's content.

**Sub-features:**
- Path creation: a named custom learning path with a goal
- Course selection: the courses (and units) included in the path
- Sequencing: the order of the courses/units in the path
- Path assignment: the path assigned to a learner or group
- Path progress: a learner's progress through the path tracked
- Path review: the path's composition and sequence checked for coherence
- Audit logging of path create/edit/assign

**Super Administrator User Journey:**
1. A learner needs a tailored route (e.g., a career switch into data). Super Admin creates a custom learning path: a name and the goal it serves.
2. Selects the courses for the path (the foundations, the core, the application) and the specific units where a course is only partially needed.
3. Sequences the path: the order of the courses/units, so the learning builds correctly (foundations before advanced).
4. Reviews the path for coherence: the sequence is logical, the coverage matches the goal, and a gap or an out-of-order course is corrected.
5. Assigns the path to the learner (or group); the learner now sees the path as their route, with the courses in order.
6. Tracks the learner's progress through the path: the courses/units completed, the current point, and what is next.
7. For a learner who finishes ahead or needs a different branch, Super Admin adjusts the path (adds/removes a course, re-sequences) and re-assigns; the change is recorded.
8. The path create, edit, and assign events are audit-logged with the path, the learner/group, and the timestamp.

**Rules & Edge Cases:**
- A custom learning path is a curated, sequenced set of courses/units for a goal; it is distinct from a standard catalog track.
- The sequence is logical (foundations before advanced); the path is reviewed for coherence before assignment.
- A path is assigned to a learner or group; the assignee follows it as their route.
- Progress through the path is tracked; the learner's position is visible.
- A path adjustment (add/remove/re-sequence) is recorded; the learner's completed work is preserved.
- Path changes are audit-logged with the path, assignee, and timestamp.

### 5.3 Schedule Batch Assessments
**What it does:** Schedules assessments for a batch (a group of learners) at a defined time: the Super Administrator sets a batch assessment — an assessment taken by a group together at a scheduled time — so a cohort is assessed on a common schedule, supporting structured evaluation (e.g., an end-of-module test for a class).

**Sub-features:**
- Batch assessment scheduling: an assessment set for a group at a defined time
- Assessment selection: the assessment (from the assessment set) chosen for the batch
- Time window: the start and the duration (the window the batch takes it)
- Batch selection: the group of learners the assessment is scheduled for
- Scheduling list: the batch assessments with their times and groups
- Reminder: the batch notified of the upcoming assessment (per notification settings)
- Audit logging of batch assessment scheduling

**Super Administrator User Journey:**
1. A class needs an end-of-module assessment. Super Admin opens batch assessment scheduling, selects the assessment (from the assessment set), and selects the batch (the class).
2. Sets the time window: the start time and the duration (the window the batch takes the assessment).
3. Saves; the batch assessment is scheduled and appears in the scheduling list with its time and group.
4. The batch is notified of the upcoming assessment (per the notification settings), so the learners know when to take it.
5. At the scheduled time, the batch takes the assessment within the window; their attempts are recorded against the batch.
6. Reviews the scheduling list: the upcoming and past batch assessments, their times, and their groups, so the assessment calendar is clear.
7. For a reschedule (a conflict arises), Super Admin moves the batch assessment to a new window; the batch is re-notified and the change is recorded.
8. The batch assessment scheduling and rescheduling are audit-logged with the assessment, the batch, the window, and the timestamp.

**Rules & Edge Cases:**
- A batch assessment is an assessment scheduled for a group at a defined time window; the batch takes it together.
- The time window (start and duration) is set; the assessment is taken within it.
- The batch is notified of the upcoming assessment per the notification settings; a reschedule triggers a re-notification.
- The scheduling list shows the batch assessments with their times and groups; the calendar is visible.
- A reschedule is recorded; the batch's prior attempts (if any) are handled per the reschedule's impact.
- Scheduling is audit-logged with the assessment, batch, window, and timestamp.
