/
Assignment Builder
SCR-CCM.27 ยท Course: Introduction to Financial Literacy โ Lesson: Module 2 โบ Lesson 3Case Study: Personal Budget Planning
Module 2 โบ Lesson 3 ยท Submit text or file
Rubric: 50 points total
Analyze the provided household budget scenario and prepare a written analysis addressing the key financial challenges faced by the Keovongsa family. Identify at least 3 areas for improvement and propose actionable recommendations.
The Keovongsa family earns 8,000,000 LAK per month. They spend 3,500,000 LAK on rent, 1,800,000 LAK on food, 900,000 LAK on transportation, and 1,200,000 LAK on entertainment. They have no emergency fund and 15,000,000 LAK in outstanding debt.
| Criterion | Max points |
|---|---|
| Financial Analysis Accuracy | 30 |
| Written Explanation and Clarity | 20 |
| Total | 50 |
Screen Flow (SUC-CCM-12):
๐ Spec notes โ SUC-CCM-12 / SCR-CCM.27 (fields, actions, requirements)
- Screen: SCR-CCM.27 โ Assignment Builder
- Sub-use case: SUC-CCM-12 โ Build Assignment (demoted from UC-CCM.03 on 2026-06-23)
- Invoked by: UC-CCM.01 (Author Course Content), UC-CCM.10 (Manage Course Assets)
- Type: page ยท Primary actor: ACT-02 (Instructor)
Current returnUrl: (none — standalone preview)
Fallback: / when returnUrl is empty.
Propagation: Save (main flow step 9) โ returnUrl. Cancel (AF 1A) / Delete (AF 1B) โ returnUrl + &sub_cancelled=1.
Opens in two modes: "new" (empty form, Delete disabled) and "edit" (pre-filled, Delete enabled) via ?mode=edit.
Step 9 (save, pass validation) returns to a different screen depending on the caller:
from UC-CCM.01 โ SCR-CCM.02 (assignment appears in the lesson's content item list);
from UC-CCM.10 โ SCR-CCM.24 (assignment appears in the Assignment tab of the asset library).
The prototype uses the generic returnUrl passed in by the caller for both destinations.
course_titleโ text ยท read-only ยท session.current_course_titlelesson_positionโ text ยท read-only ยท param.lesson_position_labeltitleโ text ยท required ยท max 255instructions_htmlโ rich text ยท combined required* with scenario_prompt_html (SS-CCM.30) ยท sanitized (SS-CCM.27)scenario_prompt_htmlโ rich text ("Case study") ยท optional ยท sanitized (SS-CCM.27)submission_formatโ enum [text, file, both] ยท required ยท default textcharacter_limitโ number ยท visible when text/both ยท min 0 ยท 0 = unlimitedmax_filesโ number ยท visible when file/both ยท min 1accepted_file_typesโ enum ยท visible when file/both ยท TBD (open issue)criterion_textโ textarea per row ยท requiredcriterion_max_pointsโ number per row ยท required ยท min 1total_rubric_pointsโ computed ยท read-only ยท real-time update
- Assessment type (Practice/Summative radio) โ removed. Now a delivery setting on the content item in the lesson editor, not the assignment itself. Per SUC-CCM-12
additional_requirements #5: "the same assignment can be summative in one lesson and practice in another." - Optional assignment (switch) โ removed. Per SUC-CCM-12
additional_requirements #9: the optional toggle is a delivery setting on the content item (UC-CCM.01 AF 7A), independent from the summative setting. - Maximum resubmission attempts (number field) โ removed. Same
additional_requirements #9: the resubmission count is also a per-lesson delivery setting, not part of SCR-CCM.27's current field list.
SCR-CCM.27 action #4 ("Preview") is still defined in the current screen spec โ client-side only,
shows the assignment from the learner's perspective with unsaved data, triggers_uc_step: null
(no corresponding SUC-CCM-12 flow step). Kept in this build; not tied to any AF number.
- Validation errors display inline below fields; scroll to first error on Save [refs: SS-CCM.30]
- Rich text toolbar: bold/italic/underline/lists/image; HTML sanitized before save [refs: SS-CCM.27]
- Rubric drag-drop reorder must have keyboard alternative (โ/โ buttons) [WCAG 2.1 AA]
- At least one of "Instructions" or "Case study" must have content [refs: SS-CCM.30]
- Accepted file types whitelist for assignment submission โ TBD, confirm with DTVE
- Character limit enforcement during learner submission โ PLY/LMS scope