@thanh01.pmt/curriculum-kit 1.0.4 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1701 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +159 -1
- package/dist/index.d.ts +159 -1
- package/dist/index.mjs +1676 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -2992,6 +2992,336 @@ This lab focuses on the practical implementation of core technical concepts, bri
|
|
|
2992
2992
|
{{CHECKLIST_ITEMS}}
|
|
2993
2993
|
`.trim();
|
|
2994
2994
|
|
|
2995
|
+
// src/templates/handoutTemplate.ts
|
|
2996
|
+
var HANDOUT_TEMPLATE = `
|
|
2997
|
+
---
|
|
2998
|
+
id: "{{ID}}"
|
|
2999
|
+
title: "{{TITLE}}"
|
|
3000
|
+
type: "HANDOUT"
|
|
3001
|
+
created_by: "Curriculum OS Builder"
|
|
3002
|
+
phase: "{{PHASE}}"
|
|
3003
|
+
deliverable: "P3-T6"
|
|
3004
|
+
version: "{{VERSION}}"
|
|
3005
|
+
date: "{{DATE}}"
|
|
3006
|
+
---
|
|
3007
|
+
|
|
3008
|
+
# STUDENT HANDOUT: {{TITLE}}
|
|
3009
|
+
**Quick-Reference Cheat Sheet & Concept Summary**
|
|
3010
|
+
|
|
3011
|
+
> **For Students:** This document summarizes the core concepts and the most important syntax following the **5-Second Rule** (instant look-up). Use it as a quick reference during your lab tasks or projects.
|
|
3012
|
+
|
|
3013
|
+
## \u{1F4D6} 1. Core Concepts
|
|
3014
|
+
{{CORE_CONCEPTS_SUMMARY}}
|
|
3015
|
+
|
|
3016
|
+
## \u26A1 2. Common Syntax & Configurations
|
|
3017
|
+
| Syntax / Config | Meaning & Function | Example / Snippet |
|
|
3018
|
+
| :--- | :--- | :--- |
|
|
3019
|
+
{{SYNTAX_TABLE_ROWS}}
|
|
3020
|
+
|
|
3021
|
+
## \u{1F680} 3. General Problem-Solving Procedure
|
|
3022
|
+
*Three general thinking steps when tackling problems in this domain:*
|
|
3023
|
+
1. **Step 1 (Input/Trigger):** {{STEP1_TRIGGER}}
|
|
3024
|
+
2. **Step 2 (Logic/Transform):** {{STEP2_LOGIC}}
|
|
3025
|
+
3. **Step 3 (Output/Verify):** {{STEP3_OUTPUT}}
|
|
3026
|
+
|
|
3027
|
+
---
|
|
3028
|
+
|
|
3029
|
+
### \u{1F4A1} Pro-tip
|
|
3030
|
+
{{PRO_TIPS}}
|
|
3031
|
+
`.trim();
|
|
3032
|
+
|
|
3033
|
+
// src/templates/slideTemplate.ts
|
|
3034
|
+
var SLIDE_TEMPLATE = `
|
|
3035
|
+
---
|
|
3036
|
+
marp: true
|
|
3037
|
+
theme: {{THEME}}
|
|
3038
|
+
paginate: true
|
|
3039
|
+
header: "{{HEADER_TITLE}}"
|
|
3040
|
+
footer: "LearnWell Platform | {{LESSON_ID}}"
|
|
3041
|
+
---
|
|
3042
|
+
|
|
3043
|
+
# \u{1F680} {{TITLE}}
|
|
3044
|
+
### {{SUBTITLE}}
|
|
3045
|
+
|
|
3046
|
+
**Audience:** {{AUDIENCE}}
|
|
3047
|
+
**Tech Stack:** {{TECH_STACK}}
|
|
3048
|
+
**Estimated Time:** {{DURATION_MINS}} mins
|
|
3049
|
+
|
|
3050
|
+
<!--
|
|
3051
|
+
Presenter Notes:
|
|
3052
|
+
{{TITLE_PRESENTER_NOTES}}
|
|
3053
|
+
-->
|
|
3054
|
+
|
|
3055
|
+
---
|
|
3056
|
+
|
|
3057
|
+
## \u{1F5FA}\uFE0F Agenda & Milestone Journey Map
|
|
3058
|
+
|
|
3059
|
+
| Time | Stage | Focus Activity |
|
|
3060
|
+
|:---:|---|---|
|
|
3061
|
+
{{AGENDA_ROWS}}
|
|
3062
|
+
|
|
3063
|
+
<!--
|
|
3064
|
+
Presenter Notes:
|
|
3065
|
+
{{AGENDA_PRESENTER_NOTES}}
|
|
3066
|
+
-->
|
|
3067
|
+
|
|
3068
|
+
---
|
|
3069
|
+
|
|
3070
|
+
## \u26A1 Warm-Up & Prior Knowledge Recall
|
|
3071
|
+
|
|
3072
|
+
{{WARMUP_CONTENT}}
|
|
3073
|
+
|
|
3074
|
+
<!--
|
|
3075
|
+
Presenter Notes:
|
|
3076
|
+
{{WARMUP_PRESENTER_NOTES}}
|
|
3077
|
+
-->
|
|
3078
|
+
|
|
3079
|
+
---
|
|
3080
|
+
|
|
3081
|
+
## \u{1F3AF} Hook Scenario: The Real-World Engineering Challenge
|
|
3082
|
+
|
|
3083
|
+
> \u26A0\uFE0F **The Problem / System Failure:**
|
|
3084
|
+
> {{HOOK_SCENARIO}}
|
|
3085
|
+
|
|
3086
|
+
- **Key Constraint:** {{HOOK_CONSTRAINT}}
|
|
3087
|
+
- **Mission Question:** {{HOOK_QUESTION}}
|
|
3088
|
+
|
|
3089
|
+
<!--
|
|
3090
|
+
Presenter Notes:
|
|
3091
|
+
{{HOOK_PRESENTER_NOTES}}
|
|
3092
|
+
-->
|
|
3093
|
+
|
|
3094
|
+
---
|
|
3095
|
+
|
|
3096
|
+
<!-- [CONCEPT_MICRO_CYCLES_START] -->
|
|
3097
|
+
{{CONCEPT_MICRO_CYCLES_SECTION}}
|
|
3098
|
+
<!-- [CONCEPT_MICRO_CYCLES_END] -->
|
|
3099
|
+
|
|
3100
|
+
---
|
|
3101
|
+
|
|
3102
|
+
## \u{1F6E0}\uFE0F Integrated Hands-On Lab: Capstone Challenge
|
|
3103
|
+
|
|
3104
|
+
### \u{1F3AF} Mission Goal:
|
|
3105
|
+
{{ADVANCED_LAB_GOAL}}
|
|
3106
|
+
|
|
3107
|
+
### 3-Tier Progressive Differentiation:
|
|
3108
|
+
- \u{1F949} **Bronze Tier:** {{BRONZE_TASK}}
|
|
3109
|
+
- \u{1F948} **Silver Tier:** {{SILVER_TASK}}
|
|
3110
|
+
- \u{1F947} **Gold Tier:** {{GOLD_TASK}}
|
|
3111
|
+
|
|
3112
|
+
<!--
|
|
3113
|
+
Presenter Notes:
|
|
3114
|
+
{{ADVANCED_LAB_PRESENTER_NOTES}}
|
|
3115
|
+
-->
|
|
3116
|
+
|
|
3117
|
+
---
|
|
3118
|
+
|
|
3119
|
+
## \u{1F6A6} Formative Checkpoint: Traffic Light Assessment
|
|
3120
|
+
|
|
3121
|
+
- \u{1F7E2} **Ready to Accelerate:** Solved Bronze + Silver, ready for Gold tier!
|
|
3122
|
+
- \u{1F7E1} **Need Quick Help:** Stuck on syntax or compilation error $\rightarrow$ Call assistant / check troubleshooting matrix.
|
|
3123
|
+
- \u{1F534} **Blocked:** Concept unclear $\rightarrow$ Step back to Micro-Practice 1.
|
|
3124
|
+
|
|
3125
|
+
<!--
|
|
3126
|
+
Presenter Notes:
|
|
3127
|
+
{{CHECKPOINT_PRESENTER_NOTES}}
|
|
3128
|
+
-->
|
|
3129
|
+
|
|
3130
|
+
---
|
|
3131
|
+
|
|
3132
|
+
## \u{1F39F}\uFE0F Exit Ticket & Metacognitive Reflection
|
|
3133
|
+
|
|
3134
|
+
1. **Scenario Question 1:** {{EXIT_Q1}}
|
|
3135
|
+
2. **Scenario Question 2:** {{EXIT_Q2}}
|
|
3136
|
+
3. **Metacognitive Reflection:** {{EXIT_REFLECTION}}
|
|
3137
|
+
|
|
3138
|
+
<!--
|
|
3139
|
+
Presenter Notes:
|
|
3140
|
+
{{EXIT_PRESENTER_NOTES}}
|
|
3141
|
+
-->
|
|
3142
|
+
|
|
3143
|
+
---
|
|
3144
|
+
|
|
3145
|
+
## \u{1F3C1} Summary & Key Takeaways
|
|
3146
|
+
|
|
3147
|
+
- \u2705 **Rule 1:** {{TAKEAWAY_1}}
|
|
3148
|
+
- \u2705 **Rule 2:** {{TAKEAWAY_2}}
|
|
3149
|
+
- \u2705 **Rule 3:** {{TAKEAWAY_3}}
|
|
3150
|
+
|
|
3151
|
+
\u{1F449} **Next Milestone Preview:** {{NEXT_MILESTONE_PREVIEW}}
|
|
3152
|
+
`.trim();
|
|
3153
|
+
|
|
3154
|
+
// src/templates/worksheetTemplate.ts
|
|
3155
|
+
var WORKSHEET_TEMPLATE = `
|
|
3156
|
+
---
|
|
3157
|
+
id: "{{ID}}"
|
|
3158
|
+
title: "{{TITLE}}"
|
|
3159
|
+
type: "WKS"
|
|
3160
|
+
created_by: "Curriculum OS Builder"
|
|
3161
|
+
phase: "{{PHASE}}"
|
|
3162
|
+
deliverable: "P3-T7"
|
|
3163
|
+
version: "{{VERSION}}"
|
|
3164
|
+
date: "{{DATE}}"
|
|
3165
|
+
---
|
|
3166
|
+
|
|
3167
|
+
# WORKSHEET: {{TITLE}}
|
|
3168
|
+
|
|
3169
|
+
**Student Name:** _______________________
|
|
3170
|
+
**Class / Cohort:** _______________________
|
|
3171
|
+
**Date:** _______________________
|
|
3172
|
+
|
|
3173
|
+
> **For Students:** This document guides you step-by-step through practical tasks. Read carefully, fill in the blanks, and check off [x] once completed. If you encounter errors, refer back to your **HANDOUT**.
|
|
3174
|
+
|
|
3175
|
+
## Part 1: Knowledge Check
|
|
3176
|
+
{{PART1_KNOWLEDGE_CHECK}}
|
|
3177
|
+
|
|
3178
|
+
## Part 2: Guided Practice (Step-by-Step)
|
|
3179
|
+
**Task Objective:** {{PART2_OBJECTIVE}}
|
|
3180
|
+
|
|
3181
|
+
{{PART2_STEPS}}
|
|
3182
|
+
|
|
3183
|
+
## Part 3: Reflection / Computational Thinking
|
|
3184
|
+
- What is the most critical lesson learned from today's practice?
|
|
3185
|
+
____________________________________________________________________
|
|
3186
|
+
- If you wanted to scale this system for 10,000 active users, where do you predict the primary bottleneck will be?
|
|
3187
|
+
____________________________________________________________________
|
|
3188
|
+
`.trim();
|
|
3189
|
+
|
|
3190
|
+
// src/templates/projectInstructionTemplate.ts
|
|
3191
|
+
var PROJECT_INSTRUCTION_TEMPLATE = `
|
|
3192
|
+
---
|
|
3193
|
+
id: "{{ID}}"
|
|
3194
|
+
title: "{{TITLE}}"
|
|
3195
|
+
type: "INSTRUCTION"
|
|
3196
|
+
language: "{{LANGUAGE}}"
|
|
3197
|
+
difficulty: "{{DIFFICULTY}}"
|
|
3198
|
+
estimated_minutes: {{ESTIMATED_MINUTES}}
|
|
3199
|
+
tech_stack: {{TECH_STACK}}
|
|
3200
|
+
---
|
|
3201
|
+
|
|
3202
|
+
# \u{1F6E0}\uFE0F {{TITLE}}
|
|
3203
|
+
|
|
3204
|
+
> \u23F1\uFE0F **Estimated Duration:** ~{{ESTIMATED_MINUTES}} mins
|
|
3205
|
+
> \u{1F3AF} **Difficulty:** {{DIFFICULTY_UPPER}}
|
|
3206
|
+
> \u{1F9F0} **Tech Stack:** {{TECH_STACK_STR}}
|
|
3207
|
+
|
|
3208
|
+
---
|
|
3209
|
+
|
|
3210
|
+
## \u{1F4CB} Prerequisites & Tools
|
|
3211
|
+
* **Prerequisites:** {{PREREQUISITES}}
|
|
3212
|
+
* **Materials & Tools:** {{MATERIALS_AND_TOOLS}}
|
|
3213
|
+
|
|
3214
|
+
---
|
|
3215
|
+
|
|
3216
|
+
{{SECTIONS_CONTENT}}
|
|
3217
|
+
|
|
3218
|
+
---
|
|
3219
|
+
|
|
3220
|
+
## \u{1F3C1} Verification Checklist
|
|
3221
|
+
{{VERIFICATION_CHECKLIST}}
|
|
3222
|
+
`.trim();
|
|
3223
|
+
|
|
3224
|
+
// src/templates/rubricTemplate.ts
|
|
3225
|
+
var RUBRIC_TEMPLATE = `
|
|
3226
|
+
---
|
|
3227
|
+
id: "{{ID}}"
|
|
3228
|
+
title: "{{TITLE}}"
|
|
3229
|
+
type: "RUBRIC"
|
|
3230
|
+
created_by: "Curriculum OS Builder"
|
|
3231
|
+
phase: "{{PHASE}}"
|
|
3232
|
+
deliverable: "P3-T5"
|
|
3233
|
+
version: "{{VERSION}}"
|
|
3234
|
+
date: "{{DATE}}"
|
|
3235
|
+
template_contract: "artifact-template-v1"
|
|
3236
|
+
template_required_sections:
|
|
3237
|
+
- "Assessment Overview"
|
|
3238
|
+
- "Assessment Rubric"
|
|
3239
|
+
---
|
|
3240
|
+
|
|
3241
|
+
# ASSESSMENT: {{TITLE}}
|
|
3242
|
+
|
|
3243
|
+
_Milestone: {{MILESTONE_ID}} | Lesson: {{LESSON_ID}}_
|
|
3244
|
+
|
|
3245
|
+
## [REQUIRED] Assessment Overview
|
|
3246
|
+
- **Type:** {{ASSESSMENT_TYPE}}
|
|
3247
|
+
- **Format:** {{ASSESSMENT_FORMAT}}
|
|
3248
|
+
- **Learning Objectives Measured:** {{LEARNING_OBJECTIVES_MEASURED}}
|
|
3249
|
+
- **Target Language:** {{TARGET_AUDIENCE_NOTE}}
|
|
3250
|
+
|
|
3251
|
+
---
|
|
3252
|
+
|
|
3253
|
+
## [REQUIRED] Assessment Rubric
|
|
3254
|
+
_Note for @assessor: Describe SPECIFIC behaviors. Avoid vague words like "good" or "understand."_
|
|
3255
|
+
|
|
3256
|
+
| Criteria | Weight | Excellent (4) | Proficient (3) | Developing (2) | Beginning (1) |
|
|
3257
|
+
|---|:---:|---|---|---|---|
|
|
3258
|
+
{{RUBRIC_TABLE_ROWS}}
|
|
3259
|
+
|
|
3260
|
+
---
|
|
3261
|
+
|
|
3262
|
+
## [OPTIONAL] Exit Ticket
|
|
3263
|
+
_Used at the end of class for a quick pulse check (Max 3 questions)._
|
|
3264
|
+
{{EXIT_TICKET_QUESTIONS}}
|
|
3265
|
+
|
|
3266
|
+
---
|
|
3267
|
+
|
|
3268
|
+
## [OPTIONAL] Student Self-Assessment Checklist
|
|
3269
|
+
_Simple language for students to reflect after completing a project._
|
|
3270
|
+
{{SELF_ASSESSMENT_CHECKLIST}}
|
|
3271
|
+
`.trim();
|
|
3272
|
+
|
|
3273
|
+
// src/templates/guideTemplate.ts
|
|
3274
|
+
var TEACHER_GUIDE_TEMPLATE = `
|
|
3275
|
+
---
|
|
3276
|
+
id: "{{ID}}"
|
|
3277
|
+
title: "{{TITLE}}"
|
|
3278
|
+
type: "GUIDE"
|
|
3279
|
+
created_by: "Curriculum OS Builder"
|
|
3280
|
+
phase: "{{PHASE}}"
|
|
3281
|
+
deliverable: "P3-T5"
|
|
3282
|
+
version: "{{VERSION}}"
|
|
3283
|
+
date: "{{DATE}}"
|
|
3284
|
+
---
|
|
3285
|
+
|
|
3286
|
+
# TEACHER GUIDE: {{TITLE}}
|
|
3287
|
+
_For Teacher Use Only | Milestone: {{MILESTONE_ID}} | Lesson: {{LESSON_ID}}_
|
|
3288
|
+
|
|
3289
|
+
## 1. Objectives & Preparation
|
|
3290
|
+
- **Pedagogical Goal:** {{PEDAGOGICAL_GOAL}}
|
|
3291
|
+
- **Common Student Blindspots:** {{COMMON_BLINDSPOTS}}
|
|
3292
|
+
- **Technical Checklist:**
|
|
3293
|
+
{{TECHNICAL_CHECKLIST}}
|
|
3294
|
+
|
|
3295
|
+
## 2. Teaching Script & Progression
|
|
3296
|
+
|
|
3297
|
+
### Hook / Engage (5-10 minutes)
|
|
3298
|
+
- **The Delivery:** {{HOOK_DELIVERY}}
|
|
3299
|
+
- **Key Point:** {{HOOK_KEY_POINT}}
|
|
3300
|
+
|
|
3301
|
+
### Explore / Core Concepts (15-20 minutes)
|
|
3302
|
+
- **Explanation Strategy:** {{EXPLANATION_STRATEGY}}
|
|
3303
|
+
- **Quick Check Questions:**
|
|
3304
|
+
{{QUICK_CHECK_QUESTIONS}}
|
|
3305
|
+
- **Time Management:** {{TIME_MANAGEMENT_TIPS}}
|
|
3306
|
+
|
|
3307
|
+
### Elaborate / Hands-on Activity (30-45 minutes)
|
|
3308
|
+
- **Classroom Management:** {{CLASSROOM_MANAGEMENT}}
|
|
3309
|
+
- **Facilitation:** {{FACILITATION_TIPS}}
|
|
3310
|
+
- **Pro-tips:** {{PRO_TIPS}}
|
|
3311
|
+
|
|
3312
|
+
### Evaluate / Wrap-up (5-10 minutes)
|
|
3313
|
+
- **Exit Ticket Strategy:** {{EXIT_TICKET_STRATEGY}}
|
|
3314
|
+
- **Minimum Requirement:** {{MINIMUM_REQUIREMENT}}
|
|
3315
|
+
|
|
3316
|
+
## 3. Troubleshooting & FAQs
|
|
3317
|
+
{{TROUBLESHOOTING_FAQS}}
|
|
3318
|
+
|
|
3319
|
+
## 4. Assessment & Differentiation Tips
|
|
3320
|
+
- **Proficient:** {{PROFICIENT_THRESHOLD}}
|
|
3321
|
+
- **Advanced:** {{ADVANCED_EXTENSIONS}}
|
|
3322
|
+
- **Enrichment Question:** {{ENRICHMENT_QUESTIONS}}
|
|
3323
|
+
`.trim();
|
|
3324
|
+
|
|
2995
3325
|
// src/templates/selfLabTemplate.ts
|
|
2996
3326
|
var SELF_LAB_TEMPLATE = `
|
|
2997
3327
|
---
|
|
@@ -3194,6 +3524,1351 @@ passing_score_pct: {{PASSING_SCORE_PCT}}
|
|
|
3194
3524
|
</details>
|
|
3195
3525
|
`.trim();
|
|
3196
3526
|
|
|
3527
|
+
// src/templates/extTemplate.ts
|
|
3528
|
+
var EXT_TEMPLATE = `---
|
|
3529
|
+
id: "{{ID}}"
|
|
3530
|
+
title: "{{TITLE}}"
|
|
3531
|
+
type: "EXT"
|
|
3532
|
+
created_by: "Curriculum OS Builder"
|
|
3533
|
+
phase: "{{PHASE}}"
|
|
3534
|
+
deliverable: "P3-T8"
|
|
3535
|
+
version: "{{VERSION}}"
|
|
3536
|
+
date: "{{DATE}}"
|
|
3537
|
+
template_contract: "artifact-template-v1"
|
|
3538
|
+
template_required_sections:
|
|
3539
|
+
- "Target Mastery & Acceleration"
|
|
3540
|
+
- "Challenge 1"
|
|
3541
|
+
- "Challenge 2"
|
|
3542
|
+
- "Verification Criteria"
|
|
3543
|
+
---
|
|
3544
|
+
<!-- INJECT_BODY -->
|
|
3545
|
+
|
|
3546
|
+
# EXTENSION CHALLENGES: {{TITLE}}
|
|
3547
|
+
_Unit: {{UNIT_ID}} | Module: {{MODULE_ID}} | Lesson: {{LESSON_ID}}_
|
|
3548
|
+
|
|
3549
|
+
## [REQUIRED] Target Mastery & Acceleration
|
|
3550
|
+
> *Designed for advanced learners who have successfully completed the core lesson requirements ahead of schedule.*
|
|
3551
|
+
|
|
3552
|
+
---
|
|
3553
|
+
|
|
3554
|
+
## [REQUIRED] Challenge 1: {{CHALLENGE_1_TITLE}} (Difficulty: \u2B50\u2B50\u2B50)
|
|
3555
|
+
- **Problem Statement:** {{CHALLENGE_1_DESCRIPTION}}
|
|
3556
|
+
- **Architectural Clues & Hints:**
|
|
3557
|
+
{{CHALLENGE_1_HINTS}}
|
|
3558
|
+
- **Expected Outcome & Deliverable:** {{CHALLENGE_1_OUTCOME}}
|
|
3559
|
+
|
|
3560
|
+
---
|
|
3561
|
+
|
|
3562
|
+
## [REQUIRED] Challenge 2: {{CHALLENGE_2_TITLE}} (Difficulty: \u2B50\u2B50\u2B50\u2B50)
|
|
3563
|
+
- **Problem Statement:** {{CHALLENGE_2_DESCRIPTION}}
|
|
3564
|
+
- **Architectural Clues & Hints:**
|
|
3565
|
+
{{CHALLENGE_2_HINTS}}
|
|
3566
|
+
- **Expected Outcome & Deliverable:** {{CHALLENGE_2_OUTCOME}}
|
|
3567
|
+
|
|
3568
|
+
---
|
|
3569
|
+
|
|
3570
|
+
## [REQUIRED] Verification Criteria
|
|
3571
|
+
- [ ] Code passes all extended unit tests.
|
|
3572
|
+
- [ ] No regression introduced into core components.
|
|
3573
|
+
- [ ] Demonstrates high-order optimization or architectural separation.
|
|
3574
|
+
`;
|
|
3575
|
+
|
|
3576
|
+
// src/templates/glossaryTemplate.ts
|
|
3577
|
+
var GLOSSARY_TEMPLATE = `---
|
|
3578
|
+
id: "{{ID}}"
|
|
3579
|
+
title: "{{TITLE}}"
|
|
3580
|
+
type: "GLOSSARY"
|
|
3581
|
+
created_by: "Curriculum OS Builder"
|
|
3582
|
+
phase: "{{PHASE}}"
|
|
3583
|
+
deliverable: "P3-T9"
|
|
3584
|
+
version: "{{VERSION}}"
|
|
3585
|
+
date: "{{DATE}}"
|
|
3586
|
+
template_contract: "artifact-template-v1"
|
|
3587
|
+
template_required_sections:
|
|
3588
|
+
- "Core Technical Terminology"
|
|
3589
|
+
- "Conceptual Analogies & Non-examples"
|
|
3590
|
+
- "Cross-Technology Crosswalk"
|
|
3591
|
+
---
|
|
3592
|
+
<!-- INJECT_BODY -->
|
|
3593
|
+
|
|
3594
|
+
# TECHNICAL GLOSSARY & VOCABULARY: {{TITLE}}
|
|
3595
|
+
_Unit: {{UNIT_ID}} | Module: {{MODULE_ID}} | Reference Standard: CS2023_
|
|
3596
|
+
|
|
3597
|
+
## [REQUIRED] Core Technical Terminology
|
|
3598
|
+
|
|
3599
|
+
| Term / Keyword | Formal Engineering Definition | Code Usage Context | Common Misconception |
|
|
3600
|
+
| :--- | :--- | :--- | :--- |
|
|
3601
|
+
{{GLOSSARY_TABLE_ROWS}}
|
|
3602
|
+
|
|
3603
|
+
---
|
|
3604
|
+
|
|
3605
|
+
## [REQUIRED] Conceptual Analogies & Non-examples
|
|
3606
|
+
|
|
3607
|
+
{{ANALOGY_SECTIONS}}
|
|
3608
|
+
|
|
3609
|
+
---
|
|
3610
|
+
|
|
3611
|
+
## [REQUIRED] Cross-Technology Crosswalk (Neutral vs. Specific)
|
|
3612
|
+
|
|
3613
|
+
| Universal Concept (Marr Level 1/2) | Target Language Syntax (Level 3) | Alternative Language Equivalent |
|
|
3614
|
+
| :--- | :--- | :--- |
|
|
3615
|
+
{{CROSSWALK_ROWS}}
|
|
3616
|
+
`;
|
|
3617
|
+
var BOM_TEMPLATE = `---
|
|
3618
|
+
id: "{{ID}}"
|
|
3619
|
+
title: "{{TITLE}}"
|
|
3620
|
+
type: "BOM"
|
|
3621
|
+
created_by: "Curriculum OS Builder"
|
|
3622
|
+
phase: "{{PHASE}}"
|
|
3623
|
+
deliverable: "P3-T6"
|
|
3624
|
+
version: "{{VERSION}}"
|
|
3625
|
+
date: "{{DATE}}"
|
|
3626
|
+
template_contract: "artifact-template-v1"
|
|
3627
|
+
template_required_sections:
|
|
3628
|
+
- "Hardware & Sensor Specification"
|
|
3629
|
+
- "Software & Environment Invariants"
|
|
3630
|
+
- "Procurement & Safety Requirements"
|
|
3631
|
+
---
|
|
3632
|
+
<!-- INJECT_BODY -->
|
|
3633
|
+
|
|
3634
|
+
# BILL OF MATERIALS & LAB PREREQUISITES: {{TITLE}}
|
|
3635
|
+
_Unit: {{UNIT_ID}} | Target Class Size: {{CLASS_SIZE}} Students_
|
|
3636
|
+
|
|
3637
|
+
## [REQUIRED] Hardware & Sensor Specification
|
|
3638
|
+
|
|
3639
|
+
| Item Code | Component Name | Required Qty per Student/Group | Min Spec / Pinout | Alternative Substitute |
|
|
3640
|
+
| :--- | :--- | :--- | :--- | :--- |
|
|
3641
|
+
{{HARDWARE_BOM_ROWS}}
|
|
3642
|
+
|
|
3643
|
+
---
|
|
3644
|
+
|
|
3645
|
+
## [REQUIRED] Software & Environment Invariants
|
|
3646
|
+
|
|
3647
|
+
| Tool / Runtime | Required Version | Licensing / Cost | Fallback Offline Mode |
|
|
3648
|
+
| :--- | :--- | :--- | :--- |
|
|
3649
|
+
{{SOFTWARE_BOM_ROWS}}
|
|
3650
|
+
|
|
3651
|
+
---
|
|
3652
|
+
|
|
3653
|
+
## [REQUIRED] Procurement & Safety Requirements
|
|
3654
|
+
- \u26A0\uFE0F **Voltage & Current Constraints:** {{POWER_CONSTRAINTS}}
|
|
3655
|
+
- \u{1F512} **API Quota & Rate Limits:** {{API_LIMITS}}
|
|
3656
|
+
`;
|
|
3657
|
+
|
|
3658
|
+
// src/templates/exitTicketTemplate.ts
|
|
3659
|
+
var EXIT_TICKET_TEMPLATE = `---
|
|
3660
|
+
id: "{{ID}}"
|
|
3661
|
+
title: "{{TITLE}}"
|
|
3662
|
+
type: "EXIT_TICKET"
|
|
3663
|
+
created_by: "Curriculum OS Builder"
|
|
3664
|
+
phase: "{{PHASE}}"
|
|
3665
|
+
deliverable: "P3-T10"
|
|
3666
|
+
version: "{{VERSION}}"
|
|
3667
|
+
date: "{{DATE}}"
|
|
3668
|
+
template_contract: "artifact-template-v1"
|
|
3669
|
+
template_required_sections:
|
|
3670
|
+
- "Target Learning Objectives"
|
|
3671
|
+
- "Recall & Conceptual Anchor"
|
|
3672
|
+
- "Application & Bug Hunt"
|
|
3673
|
+
- "Metacognitive Reflection & Confidence Check"
|
|
3674
|
+
- "Scoring & Teacher Intervention Trigger"
|
|
3675
|
+
---
|
|
3676
|
+
<!-- INJECT_BODY -->
|
|
3677
|
+
|
|
3678
|
+
# FORMATIVE EXIT TICKET: {{TITLE}}
|
|
3679
|
+
_Unit: {{UNIT_ID}} | Module: {{MODULE_ID}} | Lesson: {{LESSON_ID}} | Estimated Time: 5-7 mins_
|
|
3680
|
+
|
|
3681
|
+
## [REQUIRED] Target Learning Objectives
|
|
3682
|
+
- **Target LO 1 (ULO):** {{TARGET_LO_1}}
|
|
3683
|
+
- **Target LO 2 (CIO/SIO):** {{TARGET_LO_2}}
|
|
3684
|
+
|
|
3685
|
+
---
|
|
3686
|
+
|
|
3687
|
+
## [REQUIRED] Part 1: Recall & Conceptual Anchor (Prompt 1)
|
|
3688
|
+
> *Objective: Test core mental model without allowing rote syntax memorization.*
|
|
3689
|
+
|
|
3690
|
+
**Question 1:**
|
|
3691
|
+
{{CONCEPTUAL_QUESTION}}
|
|
3692
|
+
|
|
3693
|
+
- **Student Answer Area:**
|
|
3694
|
+
\`\`\`text
|
|
3695
|
+
[Write 1-2 concise sentences explaining the difference in runtime mechanism]
|
|
3696
|
+
\`\`\`
|
|
3697
|
+
|
|
3698
|
+
---
|
|
3699
|
+
|
|
3700
|
+
## [REQUIRED] Part 2: Application & Bug Hunt (Prompt 2)
|
|
3701
|
+
> *Objective: Test code diagnosis and precise correction in \u2264 3 lines of modification.*
|
|
3702
|
+
|
|
3703
|
+
**Code Snippet:**
|
|
3704
|
+
\`\`\`{{CODE_LANGUAGE}}
|
|
3705
|
+
{{BUGGY_CODE_SNIPPET}}
|
|
3706
|
+
\`\`\`
|
|
3707
|
+
|
|
3708
|
+
**Task:**
|
|
3709
|
+
1. **Identify the Compiler/Runtime Error:** {{BUG_SYMPTOM_HINT}}
|
|
3710
|
+
2. **Corrected Line:**
|
|
3711
|
+
\`\`\`{{CODE_LANGUAGE}}
|
|
3712
|
+
{{CORRECTED_CODE_SLOT}}
|
|
3713
|
+
\`\`\`
|
|
3714
|
+
|
|
3715
|
+
---
|
|
3716
|
+
|
|
3717
|
+
## [REQUIRED] Part 3: Metacognitive Reflection & Confidence Check (Prompt 3)
|
|
3718
|
+
> *Objective: Empower student self-regulation and provide immediate diagnostic signals.*
|
|
3719
|
+
|
|
3720
|
+
**Traffic Light Self-Assessment:**
|
|
3721
|
+
- [ ] \u{1F7E2} **Green (Mastered):** "I can build and explain this concept to a peer without any hints."
|
|
3722
|
+
- [ ] \u{1F7E1} **Yellow (Needs Practice):** "I understand the concept but got stuck on syntax or error messages."
|
|
3723
|
+
- [ ] \u{1F534} **Red (Blocked):** "I need help understanding why this architecture is used."
|
|
3724
|
+
|
|
3725
|
+
**One Lingering Question (Exit Ticket Note):**
|
|
3726
|
+
\`\`\`text
|
|
3727
|
+
[What is one question you still have before leaving today's lab?]
|
|
3728
|
+
\`\`\`
|
|
3729
|
+
|
|
3730
|
+
---
|
|
3731
|
+
|
|
3732
|
+
## [REQUIRED] Scoring & Teacher Intervention Trigger
|
|
3733
|
+
- **Proficiency Threshold:** Green/Yellow check + Correct Answer to Part 2 Bug Hunt.
|
|
3734
|
+
- **Intervention Protocol:** {{INTERVENTION_PROTOCOL}}
|
|
3735
|
+
`;
|
|
3736
|
+
|
|
3737
|
+
// src/templates/tieredPracticeTemplate.ts
|
|
3738
|
+
var TIERED_PRACTICE_TEMPLATE = `---
|
|
3739
|
+
id: "{{ID}}"
|
|
3740
|
+
title: "{{TITLE}}"
|
|
3741
|
+
type: "TIERED_PRACTICE"
|
|
3742
|
+
created_by: "Curriculum OS Builder"
|
|
3743
|
+
phase: "{{PHASE}}"
|
|
3744
|
+
deliverable: "P3-T11"
|
|
3745
|
+
version: "{{VERSION}}"
|
|
3746
|
+
date: "{{DATE}}"
|
|
3747
|
+
template_contract: "artifact-template-v1"
|
|
3748
|
+
template_required_sections:
|
|
3749
|
+
- "Computational Objective & Tier Matrix"
|
|
3750
|
+
- "Bronze Tier (Foundational Scaffolding)"
|
|
3751
|
+
- "Silver Tier (Independent Application)"
|
|
3752
|
+
- "Gold Tier (Enrichment & Optimization)"
|
|
3753
|
+
- "Automated Test Verification Matrix"
|
|
3754
|
+
- "Answer Key & Mentor Hints"
|
|
3755
|
+
---
|
|
3756
|
+
<!-- INJECT_BODY -->
|
|
3757
|
+
|
|
3758
|
+
# 3-TIER DIFFERENTIATED PRACTICE LAB: {{TITLE}}
|
|
3759
|
+
_Unit: {{UNIT_ID}} | Module: {{MODULE_ID}} | Lesson: {{LESSON_ID}} | Mode: Adaptive Lab_
|
|
3760
|
+
|
|
3761
|
+
## [REQUIRED] Computational Objective & Tier Matrix
|
|
3762
|
+
|
|
3763
|
+
| Tier Level | Cognitive Target (Bloom) | Scaffolding Ratio | Success Criteria |
|
|
3764
|
+
| :--- | :--- | :--- | :--- |
|
|
3765
|
+
| \u{1F949} **Bronze** | Remember / Understand | **70% Starter Code / 30% Fill-in** | Complete basic syntax & pass Baseline Unit Test. |
|
|
3766
|
+
| \u{1F948} **Silver** | Apply / Analyze | **30% Starter Code / 70% Implementation** | Implement business logic, edge-case handling & multi-component binding. |
|
|
3767
|
+
| \u{1F947} **Gold** | Evaluate / Create | **0% Code / Open Architecture** | Optimize performance, refactor with concurrency/state isolation & self-author tests. |
|
|
3768
|
+
|
|
3769
|
+
---
|
|
3770
|
+
|
|
3771
|
+
## [REQUIRED] \u{1F949} Bronze Tier: Foundational Scaffolding (Baseline for All)
|
|
3772
|
+
- **Target Audience:** All learners (mandatory milestone).
|
|
3773
|
+
- **Guiding Prompt:** {{BRONZE_PROMPT}}
|
|
3774
|
+
|
|
3775
|
+
### Starter Code & Fill-in Slots:
|
|
3776
|
+
\`\`\`{{CODE_LANGUAGE}}
|
|
3777
|
+
{{BRONZE_STARTER_CODE}}
|
|
3778
|
+
\`\`\`
|
|
3779
|
+
|
|
3780
|
+
- **Verification Check:** Run test \`testBronzeBaseline()\` \u2014 Expect status \`PASS\`.
|
|
3781
|
+
|
|
3782
|
+
---
|
|
3783
|
+
|
|
3784
|
+
## [REQUIRED] \u{1F948} Silver Tier: Independent Application (Target Mastery)
|
|
3785
|
+
- **Target Audience:** Learners who completed Bronze without mentor intervention.
|
|
3786
|
+
- **Guiding Prompt:** {{SILVER_PROMPT}}
|
|
3787
|
+
|
|
3788
|
+
### Specification & Requirements:
|
|
3789
|
+
{{SILVER_SPECIFICATIONS}}
|
|
3790
|
+
|
|
3791
|
+
### Implementation Target:
|
|
3792
|
+
\`\`\`{{CODE_LANGUAGE}}
|
|
3793
|
+
{{SILVER_IMPLEMENTATION_SLOT}}
|
|
3794
|
+
\`\`\`
|
|
3795
|
+
|
|
3796
|
+
- **Verification Check:** Run test \`testSilverLogicAndValidation()\` \u2014 Expect status \`PASS\`.
|
|
3797
|
+
|
|
3798
|
+
---
|
|
3799
|
+
|
|
3800
|
+
## [REQUIRED] \u{1F947} Gold Tier: Enrichment & Optimization (Open Extension)
|
|
3801
|
+
- **Target Audience:** Advanced learners finished ahead of schedule.
|
|
3802
|
+
- **Architectural Challenge:** {{GOLD_CHALLENGE}}
|
|
3803
|
+
|
|
3804
|
+
### Constraints & Invariants:
|
|
3805
|
+
{{GOLD_CONSTRAINTS}}
|
|
3806
|
+
|
|
3807
|
+
---
|
|
3808
|
+
|
|
3809
|
+
## [REQUIRED] Automated Test Verification Matrix & Mentor Hints
|
|
3810
|
+
\`\`\`{{CODE_LANGUAGE}}
|
|
3811
|
+
{{TEST_HARNESS_CODE}}
|
|
3812
|
+
\`\`\`
|
|
3813
|
+
|
|
3814
|
+
### Mentor Debugging Cheatsheet:
|
|
3815
|
+
{{MENTOR_DEBUG_CHEATSHEET}}
|
|
3816
|
+
`;
|
|
3817
|
+
var CHOICE_BOARD_TEMPLATE = `---
|
|
3818
|
+
id: "{{ID}}"
|
|
3819
|
+
title: "{{TITLE}}"
|
|
3820
|
+
type: "CHOICE_BOARD"
|
|
3821
|
+
created_by: "Curriculum OS Builder"
|
|
3822
|
+
phase: "{{PHASE}}"
|
|
3823
|
+
deliverable: "P3-T12"
|
|
3824
|
+
version: "{{VERSION}}"
|
|
3825
|
+
date: "{{DATE}}"
|
|
3826
|
+
template_contract: "artifact-template-v1"
|
|
3827
|
+
template_required_sections:
|
|
3828
|
+
- "Learning Goals & Rule of Choice"
|
|
3829
|
+
- "The 9-Square Activity Matrix"
|
|
3830
|
+
- "Activity Detailed Blueprints"
|
|
3831
|
+
- "Universal Assessment Rubric"
|
|
3832
|
+
---
|
|
3833
|
+
<!-- INJECT_BODY -->
|
|
3834
|
+
|
|
3835
|
+
# 9-SQUARE CHOICE BOARD: {{TITLE}}
|
|
3836
|
+
_Unit: {{UNIT_ID}} | Module: {{MODULE_ID}} | Target Competency: {{CORE_COMPETENCY}}_
|
|
3837
|
+
|
|
3838
|
+
## [REQUIRED] Learning Goals & Rule of Choice
|
|
3839
|
+
- **Core Concept Anchor:** {{CORE_CONCEPT_ANCHOR}}
|
|
3840
|
+
- **Rule of Choice (Tic-Tac-Toe / Point Model):**
|
|
3841
|
+
- *Option A (Tic-Tac-Toe):* Complete 3 activities in a row (Horizontal, Vertical, or Diagonal).
|
|
3842
|
+
- *Option B (Point Balance):* Reach $\\ge 100\\text{ pts}$ (Choose $\\ge 1$ Technical Lab + $\\ge 1$ Explanatory/Visual + $\\ge 1$ Creative Challenge).
|
|
3843
|
+
|
|
3844
|
+
---
|
|
3845
|
+
|
|
3846
|
+
## [REQUIRED] The 9-Square Activity Matrix
|
|
3847
|
+
|
|
3848
|
+
| Column 1: Analytical & Code | Column 2: Visual & Architecture | Column 3: Creative & Applied |
|
|
3849
|
+
| :--- | :--- | :--- |
|
|
3850
|
+
| **Square 1: {{SQ1_TITLE}} ({{SQ1_PTS}} pts)**<br>{{SQ1_DESC}} | **Square 2: {{SQ2_TITLE}} ({{SQ2_PTS}} pts)**<br>{{SQ2_DESC}} | **Square 3: {{SQ3_TITLE}} ({{SQ3_PTS}} pts)**<br>{{SQ3_DESC}} |
|
|
3851
|
+
| **Square 4: {{SQ4_TITLE}} ({{SQ4_PTS}} pts)**<br>{{SQ4_DESC}} | **\u2B50 Square 5: {{SQ5_TITLE}} ({{SQ5_PTS}} pts)**<br>{{SQ5_DESC}} | **Square 6: {{SQ6_TITLE}} ({{SQ6_PTS}} pts)**<br>{{SQ6_DESC}} |
|
|
3852
|
+
| **Square 7: {{SQ7_TITLE}} ({{SQ7_PTS}} pts)**<br>{{SQ7_DESC}} | **Square 8: {{SQ8_TITLE}} ({{SQ8_PTS}} pts)**<br>{{SQ8_DESC}} | **Square 9: {{SQ9_TITLE}} ({{SQ9_PTS}} pts)**<br>{{SQ9_DESC}} |
|
|
3853
|
+
|
|
3854
|
+
---
|
|
3855
|
+
|
|
3856
|
+
## [REQUIRED] Activity Detailed Blueprints
|
|
3857
|
+
|
|
3858
|
+
### Detail: Square 1 \u2014 {{SQ1_TITLE}}
|
|
3859
|
+
{{SQ1_BLUEPRINT}}
|
|
3860
|
+
|
|
3861
|
+
### Detail: Square 2 \u2014 {{SQ2_TITLE}}
|
|
3862
|
+
{{SQ2_BLUEPRINT}}
|
|
3863
|
+
|
|
3864
|
+
### Detail: \u2B50 Square 5 \u2014 {{SQ5_TITLE}} (Mandatory Center Option)
|
|
3865
|
+
{{SQ5_BLUEPRINT}}
|
|
3866
|
+
|
|
3867
|
+
---
|
|
3868
|
+
|
|
3869
|
+
## [REQUIRED] Universal Assessment Rubric
|
|
3870
|
+
| Criteria | Exemplary (4) | Proficient (3) | Developing (2) | Beginning (1) |
|
|
3871
|
+
| :--- | :--- | :--- | :--- | :--- |
|
|
3872
|
+
| **Technical Accuracy** | 100% executable, idiomatic syntax, zero race conditions. | Compiles and runs; minor non-critical styling issue. | Runs with partial errors or missing edge cases. | Does not compile or contains critical syntax bugs. |
|
|
3873
|
+
| **Conceptual Clarity** | Explains architectural trade-offs using rigorous engineering terms. | Explains the "how" accurately with basic rationale. | Description is vague or confuses terminology. | Cannot explain how code works. |
|
|
3874
|
+
| **Creativity & Autonomy** | Goes beyond specifications with thoughtful UX or performance optimizations. | Fulfills all specified criteria independently. | Needs significant scaffolding hints to complete. | Incomplete submission. |
|
|
3875
|
+
`;
|
|
3876
|
+
|
|
3877
|
+
// src/templates/scienceLabTemplate.ts
|
|
3878
|
+
var SCIENCE_LAB_TEMPLATE = `---
|
|
3879
|
+
id: "{{ID}}"
|
|
3880
|
+
title: "{{TITLE}}"
|
|
3881
|
+
type: "SCIENCE_LAB"
|
|
3882
|
+
created_by: "Curriculum OS Builder"
|
|
3883
|
+
phase: "{{PHASE}}"
|
|
3884
|
+
deliverable: "P3-T13"
|
|
3885
|
+
version: "{{VERSION}}"
|
|
3886
|
+
date: "{{DATE}}"
|
|
3887
|
+
template_contract: "artifact-template-v1"
|
|
3888
|
+
template_required_sections:
|
|
3889
|
+
- "Guiding Inquiry & Driving Question"
|
|
3890
|
+
- "Hypothesis & Experimental Design"
|
|
3891
|
+
- "Data Collection & Code Lab Protocol"
|
|
3892
|
+
- "CER Scientific Conclusion (Claim, Evidence, Reasoning)"
|
|
3893
|
+
- "Peer Review & Verification Protocol"
|
|
3894
|
+
---
|
|
3895
|
+
<!-- INJECT_BODY -->
|
|
3896
|
+
|
|
3897
|
+
# STEM / CODE INVESTIGATION LAB (CER): {{TITLE}}
|
|
3898
|
+
_Unit: {{UNIT_ID}} | Module: {{MODULE_ID}} | Domain: {{DOMAIN_NAME}}_
|
|
3899
|
+
|
|
3900
|
+
## [REQUIRED] Guiding Inquiry & Driving Question
|
|
3901
|
+
- **Real-World Driving Question:** {{DRIVING_QUESTION}}
|
|
3902
|
+
- **Engineering Phenomenon:** {{ENGINEERING_PHENOMENON}}
|
|
3903
|
+
|
|
3904
|
+
---
|
|
3905
|
+
|
|
3906
|
+
## [REQUIRED] Hypothesis & Experimental Design
|
|
3907
|
+
- **Student Hypothesis Template:**
|
|
3908
|
+
> *"If we [Action / Variable Manipulation], then [Predicted Outcome] because [Scientific / Engineering Rationale]."*
|
|
3909
|
+
|
|
3910
|
+
### Controlled Variables:
|
|
3911
|
+
- **Independent Variable (Manipulated):** {{INDEPENDENT_VARIABLE}}
|
|
3912
|
+
- **Dependent Variable (Measured):** {{DEPENDENT_VARIABLE}}
|
|
3913
|
+
- **Control Variables (Constant):** {{CONTROL_VARIABLES}}
|
|
3914
|
+
|
|
3915
|
+
---
|
|
3916
|
+
|
|
3917
|
+
## [REQUIRED] Data Collection & Code Lab Protocol
|
|
3918
|
+
|
|
3919
|
+
### Lab Setup & Instrumentation Code:
|
|
3920
|
+
\`\`\`{{CODE_LANGUAGE}}
|
|
3921
|
+
{{BENCHMARK_PROBE_CODE}}
|
|
3922
|
+
\`\`\`
|
|
3923
|
+
|
|
3924
|
+
### Data Collection Table:
|
|
3925
|
+
| Trial | Variable State | Memory (MB) | Latency (ms) | Error / Anomaly Count |
|
|
3926
|
+
| :---: | :--- | :---: | :---: | :---: |
|
|
3927
|
+
{{DATA_COLLECTION_ROWS}}
|
|
3928
|
+
|
|
3929
|
+
---
|
|
3930
|
+
|
|
3931
|
+
## [REQUIRED] CER Scientific Conclusion (Claim, Evidence, Reasoning)
|
|
3932
|
+
|
|
3933
|
+
### 1. \u{1F4CC} Claim (Kh\u1EB3ng \u0111\u1ECBnh):
|
|
3934
|
+
- *Direct answer to the driving question in 1 concise sentence:*
|
|
3935
|
+
\`\`\`text
|
|
3936
|
+
[State clear conclusion based on data]
|
|
3937
|
+
\`\`\`
|
|
3938
|
+
|
|
3939
|
+
### 2. \u{1F4CA} Evidence (B\u1EB1ng ch\u1EE9ng s\u1ED1 li\u1EC7u):
|
|
3940
|
+
- *Specific quantitative data points cited directly from the Data Collection Table:*
|
|
3941
|
+
\`\`\`text
|
|
3942
|
+
[Cite concrete numerical metrics and trials]
|
|
3943
|
+
\`\`\`
|
|
3944
|
+
|
|
3945
|
+
### 3. \u{1F9E0} Reasoning (L\u1EADp lu\u1EADn khoa h\u1ECDc):
|
|
3946
|
+
- *Connect the evidence back to the underlying technical principle:*
|
|
3947
|
+
\`\`\`text
|
|
3948
|
+
[Explain why the runtime/hardware behaved this way]
|
|
3949
|
+
\`\`\`
|
|
3950
|
+
|
|
3951
|
+
---
|
|
3952
|
+
|
|
3953
|
+
## [REQUIRED] Peer Review & Verification Protocol
|
|
3954
|
+
- **Reproducibility Test:** Exchange code probes with another group to verify if results match within $\\pm 10\\%$ tolerance.
|
|
3955
|
+
`;
|
|
3956
|
+
var TASK_CARDS_TEMPLATE = `---
|
|
3957
|
+
id: "{{ID}}"
|
|
3958
|
+
title: "{{TITLE}}"
|
|
3959
|
+
type: "TASK_CARDS"
|
|
3960
|
+
created_by: "Curriculum OS Builder"
|
|
3961
|
+
phase: "{{PHASE}}"
|
|
3962
|
+
deliverable: "P3-T14"
|
|
3963
|
+
version: "{{VERSION}}"
|
|
3964
|
+
date: "{{DATE}}"
|
|
3965
|
+
template_contract: "artifact-template-v1"
|
|
3966
|
+
template_required_sections:
|
|
3967
|
+
- "Deck Overview & Print Instructions"
|
|
3968
|
+
- "Task Cards 1 to 4 (Foundational Concepts)"
|
|
3969
|
+
- "Task Cards 5 to 8 (Code Diagnosis & Debugging)"
|
|
3970
|
+
- "Task Cards 9 to 12 (Application & Synthesis)"
|
|
3971
|
+
- "Teacher Answer Key & Scoring Matrix"
|
|
3972
|
+
---
|
|
3973
|
+
<!-- INJECT_BODY -->
|
|
3974
|
+
|
|
3975
|
+
# PRINTABLE TASK CARDS PACK: {{TITLE}}
|
|
3976
|
+
_Unit: {{UNIT_ID}} | Module: {{MODULE_ID}} | Total Cards: {{CARD_COUNT}} Cards_
|
|
3977
|
+
|
|
3978
|
+
## [REQUIRED] Deck Overview & Print Instructions
|
|
3979
|
+
- **Card Format:** 4 cards per page (A4 layout with cutting guidelines and QR code link).
|
|
3980
|
+
- **Target Skills:** Conceptual Understanding, Code Tracing, Bug Hunting, Architectural Reasoning.
|
|
3981
|
+
- **Scoring System:** Bronze Cards (1 pt), Silver Cards (2 pts), Gold Cards (3 pts).
|
|
3982
|
+
|
|
3983
|
+
---
|
|
3984
|
+
|
|
3985
|
+
## [REQUIRED] Set A: Foundational Concepts (Cards 1\u20134)
|
|
3986
|
+
{{TASK_CARDS_SET_A}}
|
|
3987
|
+
|
|
3988
|
+
---
|
|
3989
|
+
|
|
3990
|
+
## [REQUIRED] Set B: Code Diagnosis & Debugging (Cards 5\u20138)
|
|
3991
|
+
{{TASK_CARDS_SET_B}}
|
|
3992
|
+
|
|
3993
|
+
---
|
|
3994
|
+
|
|
3995
|
+
## [REQUIRED] Set C: Application & Synthesis (Cards 9\u201312)
|
|
3996
|
+
{{TASK_CARDS_SET_C}}
|
|
3997
|
+
|
|
3998
|
+
---
|
|
3999
|
+
|
|
4000
|
+
## [REQUIRED] Teacher Answer Key & Scoring Matrix
|
|
4001
|
+
| Card ID | Correct Answer / Solution Blueprint | Max Points |
|
|
4002
|
+
| :---: | :--- | :---: |
|
|
4003
|
+
{{TASK_CARDS_ANSWER_ROWS}}
|
|
4004
|
+
`;
|
|
4005
|
+
|
|
4006
|
+
// src/templates/stationRotationTemplate.ts
|
|
4007
|
+
var STATION_ROTATION_TEMPLATE = `---
|
|
4008
|
+
id: "{{ID}}"
|
|
4009
|
+
title: "{{TITLE}}"
|
|
4010
|
+
type: "STATION_ROTATION"
|
|
4011
|
+
created_by: "Curriculum OS Builder"
|
|
4012
|
+
phase: "{{PHASE}}"
|
|
4013
|
+
deliverable: "P3-T15"
|
|
4014
|
+
version: "{{VERSION}}"
|
|
4015
|
+
date: "{{DATE}}"
|
|
4016
|
+
template_contract: "artifact-template-v1"
|
|
4017
|
+
template_required_sections:
|
|
4018
|
+
- "Station Architecture & Timer Overview"
|
|
4019
|
+
- "Station 1: Teacher-Led Small Group (Deep Dive)"
|
|
4020
|
+
- "Station 2: Collaborative Hands-On Lab (Peer Pair)"
|
|
4021
|
+
- "Station 3: Independent Digital Practice (Async Code)"
|
|
4022
|
+
- "Station 4: Offline Modeling & Architecture (Whiteboard)"
|
|
4023
|
+
- "Station Recording Sheet & Rotation Bell Protocol"
|
|
4024
|
+
---
|
|
4025
|
+
<!-- INJECT_BODY -->
|
|
4026
|
+
|
|
4027
|
+
# STATION ROTATION LESSON PACK: {{TITLE}}
|
|
4028
|
+
_Unit: {{UNIT_ID}} | Module: {{MODULE_ID}} | Format: 4 Stations x 15 Mins_
|
|
4029
|
+
|
|
4030
|
+
## [REQUIRED] Station Architecture & Timer Overview
|
|
4031
|
+
- **Classroom Layout:** 4 designated physical zones with clear signage and materials.
|
|
4032
|
+
- **Rotation Time:** 15 minutes per station + 2 minutes clean transition buffer.
|
|
4033
|
+
- **Audience Grouping:** Heterogeneous groups of 4-6 students rotating simultaneously.
|
|
4034
|
+
|
|
4035
|
+
---
|
|
4036
|
+
|
|
4037
|
+
## [REQUIRED] Station 1: Teacher-Led Small Group (Guided Inquiry)
|
|
4038
|
+
- **Goal:** Direct coaching, conceptual check, and resolving misconceptions in real-time.
|
|
4039
|
+
- **Teacher Script & Inquiry Questions:**
|
|
4040
|
+
{{STATION_1_GUIDANCE}}
|
|
4041
|
+
|
|
4042
|
+
---
|
|
4043
|
+
|
|
4044
|
+
## [REQUIRED] Station 2: Collaborative Hands-On Lab (Pair Programming)
|
|
4045
|
+
- **Goal:** Students work in pairs (Driver / Navigator) to solve a 2-stage challenge.
|
|
4046
|
+
- **Task Materials:** {{STATION_2_MATERIALS}}
|
|
4047
|
+
- **Success Milestone:** {{STATION_2_MILESTONE}}
|
|
4048
|
+
|
|
4049
|
+
---
|
|
4050
|
+
|
|
4051
|
+
## [REQUIRED] Station 3: Independent Digital Practice (Self-Paced Code Lab)
|
|
4052
|
+
- **Goal:** Autonomy and individual mastery verification.
|
|
4053
|
+
- **Student Instructions:**
|
|
4054
|
+
{{STATION_3_INSTRUCTIONS}}
|
|
4055
|
+
|
|
4056
|
+
---
|
|
4057
|
+
|
|
4058
|
+
## [REQUIRED] Station 4: Offline Modeling & Architecture (No Screens)
|
|
4059
|
+
- **Goal:** Cognitive unloading and physical spatial reasoning.
|
|
4060
|
+
- **Materials:** Whiteboard markers, physical Task Cards deck, and laminated architecture templates.
|
|
4061
|
+
- **Task:** {{STATION_4_TASK}}
|
|
4062
|
+
|
|
4063
|
+
---
|
|
4064
|
+
|
|
4065
|
+
## [REQUIRED] Station Recording Sheet (Student Passport)
|
|
4066
|
+
| Station | Task Completed | Signature / Verification Stamp | 1 Key Insight Learned |
|
|
4067
|
+
| :---: | :--- | :--- | :--- |
|
|
4068
|
+
| **1 (Teacher)** | Debugging Probe Discussion | [Teacher Stamp] | |
|
|
4069
|
+
| **2 (Pair Lab)** | Stage 1 & 2 Test Suite | [Peer Signature] | |
|
|
4070
|
+
| **3 (Digital)** | Micro-Challenges Token | [Auto Token] | |
|
|
4071
|
+
| **4 (Offline)** | Flowchart Diagram Approved | [Mentor Stamp] | |
|
|
4072
|
+
`;
|
|
4073
|
+
var BELL_RINGER_TEMPLATE = `---
|
|
4074
|
+
id: "{{ID}}"
|
|
4075
|
+
title: "{{TITLE}}"
|
|
4076
|
+
type: "BELL_RINGER"
|
|
4077
|
+
created_by: "Curriculum OS Builder"
|
|
4078
|
+
phase: "{{PHASE}}"
|
|
4079
|
+
deliverable: "P3-T16"
|
|
4080
|
+
version: "{{VERSION}}"
|
|
4081
|
+
date: "{{DATE}}"
|
|
4082
|
+
template_contract: "artifact-template-v1"
|
|
4083
|
+
template_required_sections:
|
|
4084
|
+
- "Weekly Objective & Schedule"
|
|
4085
|
+
- "Monday: Mental Model Recall"
|
|
4086
|
+
- "Tuesday: Code Spot-Check"
|
|
4087
|
+
- "Wednesday: Bug Hunt & Fix"
|
|
4088
|
+
- "Thursday: Architecture Tracing"
|
|
4089
|
+
- "Friday: Creative Synthesis & Bridge"
|
|
4090
|
+
- "Answer Key & Scoring Guide"
|
|
4091
|
+
---
|
|
4092
|
+
<!-- INJECT_BODY -->
|
|
4093
|
+
|
|
4094
|
+
# WEEKLY BELL RINGERS (5-DAY WARM-UP PACK): {{TITLE}}
|
|
4095
|
+
_Unit: {{UNIT_ID}} | Module: {{MODULE_ID}} | Time: 3-5 Mins per Session_
|
|
4096
|
+
|
|
4097
|
+
## [REQUIRED] Weekly Objective & Schedule
|
|
4098
|
+
- **Weekly Core Theme:** {{WEEKLY_THEME}}
|
|
4099
|
+
- **Routine Protocol:** Display prompt on projector immediately as students enter.
|
|
4100
|
+
|
|
4101
|
+
---
|
|
4102
|
+
|
|
4103
|
+
## [REQUIRED] Day 1 (Monday): Mental Model Recall & Analogy
|
|
4104
|
+
{{DAY_1_PROMPT}}
|
|
4105
|
+
|
|
4106
|
+
---
|
|
4107
|
+
|
|
4108
|
+
## [REQUIRED] Day 2 (Tuesday): Rapid Code Tracing
|
|
4109
|
+
{{DAY_2_PROMPT}}
|
|
4110
|
+
|
|
4111
|
+
---
|
|
4112
|
+
|
|
4113
|
+
## [REQUIRED] Day 3 (Wednesday): Quick Bug Hunt (Spot the Defect)
|
|
4114
|
+
{{DAY_3_PROMPT}}
|
|
4115
|
+
|
|
4116
|
+
---
|
|
4117
|
+
|
|
4118
|
+
## [REQUIRED] Day 4 (Thursday): Visual Diagram Tracing
|
|
4119
|
+
{{DAY_4_PROMPT}}
|
|
4120
|
+
|
|
4121
|
+
---
|
|
4122
|
+
|
|
4123
|
+
## [REQUIRED] Day 5 (Friday): Creative Synthesis & Bridge Forward
|
|
4124
|
+
{{DAY_5_PROMPT}}
|
|
4125
|
+
|
|
4126
|
+
---
|
|
4127
|
+
|
|
4128
|
+
## [REQUIRED] Teacher Answer Key & Scoring Guide
|
|
4129
|
+
{{TEACHER_ANSWER_KEY}}
|
|
4130
|
+
`;
|
|
4131
|
+
var REVIEW_GAME_TEMPLATE = `---
|
|
4132
|
+
id: "{{ID}}"
|
|
4133
|
+
title: "{{TITLE}}"
|
|
4134
|
+
type: "REVIEW_GAME"
|
|
4135
|
+
created_by: "Curriculum OS Builder"
|
|
4136
|
+
phase: "{{PHASE}}"
|
|
4137
|
+
deliverable: "P3-T17"
|
|
4138
|
+
version: "{{VERSION}}"
|
|
4139
|
+
date: "{{DATE}}"
|
|
4140
|
+
template_contract: "artifact-template-v1"
|
|
4141
|
+
template_required_sections:
|
|
4142
|
+
- "Game Rules & Setup Guide"
|
|
4143
|
+
- "Round 1: Speed Round (100-200 Pts)"
|
|
4144
|
+
- "Round 2: Code Duel & Debugging (300-400 Pts)"
|
|
4145
|
+
- "Round 3: Final Boss Architecture Challenge (500 Pts)"
|
|
4146
|
+
- "Kahoot / Quizizz CSV Export Format"
|
|
4147
|
+
---
|
|
4148
|
+
<!-- INJECT_BODY -->
|
|
4149
|
+
|
|
4150
|
+
# INTERACTIVE REVIEW GAME (QUIZ SHOW PACK): {{TITLE}}
|
|
4151
|
+
_Unit: {{UNIT_ID}} | Module: {{MODULE_ID}} | Format: Live Classroom Quiz Show_
|
|
4152
|
+
|
|
4153
|
+
## [REQUIRED] Game Rules & Setup Guide
|
|
4154
|
+
- **Format:** 3 Rounds of progressive difficulty with team buzzers.
|
|
4155
|
+
- **Team Size:** 3-5 students per squad.
|
|
4156
|
+
|
|
4157
|
+
---
|
|
4158
|
+
|
|
4159
|
+
## [REQUIRED] Round 1: Rapid-Fire Speed Round (100\u2013200 Points)
|
|
4160
|
+
{{ROUND_1_QUESTIONS}}
|
|
4161
|
+
|
|
4162
|
+
---
|
|
4163
|
+
|
|
4164
|
+
## [REQUIRED] Round 2: Code Duel & Debugging (300\u2013400 Points)
|
|
4165
|
+
{{ROUND_2_CHALLENGES}}
|
|
4166
|
+
|
|
4167
|
+
---
|
|
4168
|
+
|
|
4169
|
+
## [REQUIRED] Round 3: Final Boss Architecture Challenge (500 Points)
|
|
4170
|
+
{{ROUND_3_BOSS_CHALLENGE}}
|
|
4171
|
+
|
|
4172
|
+
---
|
|
4173
|
+
|
|
4174
|
+
## [REQUIRED] Kahoot / Quizizz CSV Export Format
|
|
4175
|
+
\`\`\`csv
|
|
4176
|
+
{{KAHOOT_CSV_CONTENT}}
|
|
4177
|
+
\`\`\`
|
|
4178
|
+
`;
|
|
4179
|
+
var GRAPHIC_ORGANIZER_TEMPLATE = `---
|
|
4180
|
+
id: "{{ID}}"
|
|
4181
|
+
title: "{{TITLE}}"
|
|
4182
|
+
type: "GRAPHIC_ORGANIZER"
|
|
4183
|
+
created_by: "Curriculum OS Builder"
|
|
4184
|
+
phase: "{{PHASE}}"
|
|
4185
|
+
deliverable: "P3-T18"
|
|
4186
|
+
version: "{{VERSION}}"
|
|
4187
|
+
date: "{{DATE}}"
|
|
4188
|
+
template_contract: "artifact-template-v1"
|
|
4189
|
+
template_required_sections:
|
|
4190
|
+
- "Visual Paradigm Overview"
|
|
4191
|
+
- "Organizer 1: Architectural Data Flow (Mermaid Flowchart)"
|
|
4192
|
+
- "Organizer 2: Comparative Analysis (Mermaid / Markdown Venn)"
|
|
4193
|
+
- "Organizer 3: State Machine & Lifecycle (Mermaid StateDiagram)"
|
|
4194
|
+
- "Student Fill-in Worksheet Format"
|
|
4195
|
+
---
|
|
4196
|
+
<!-- INJECT_BODY -->
|
|
4197
|
+
|
|
4198
|
+
# VISUAL GRAPHIC ORGANIZERS: {{TITLE}}
|
|
4199
|
+
_Unit: {{UNIT_ID}} | Module: {{MODULE_ID}} | Format: Mermaid Diagrams + Printable Handouts_
|
|
4200
|
+
|
|
4201
|
+
## [REQUIRED] Visual Paradigm Overview
|
|
4202
|
+
- **Cognitive Purpose:** Unload mental processing burden through spatial diagramming.
|
|
4203
|
+
|
|
4204
|
+
---
|
|
4205
|
+
|
|
4206
|
+
## [REQUIRED] Organizer 1: Architectural Data Flow (Mermaid Flowchart)
|
|
4207
|
+
\`\`\`mermaid
|
|
4208
|
+
{{MERMAID_FLOWCHART}}
|
|
4209
|
+
\`\`\`
|
|
4210
|
+
|
|
4211
|
+
---
|
|
4212
|
+
|
|
4213
|
+
## [REQUIRED] Organizer 2: Comparative Analysis (Venn Diagram / Matrix)
|
|
4214
|
+
\`\`\`mermaid
|
|
4215
|
+
{{MERMAID_VENN_OR_MATRIX}}
|
|
4216
|
+
\`\`\`
|
|
4217
|
+
|
|
4218
|
+
---
|
|
4219
|
+
|
|
4220
|
+
## [REQUIRED] Organizer 3: State Machine & Lifecycle (State Diagram)
|
|
4221
|
+
\`\`\`mermaid
|
|
4222
|
+
{{MERMAID_STATE_DIAGRAM}}
|
|
4223
|
+
\`\`\`
|
|
4224
|
+
|
|
4225
|
+
---
|
|
4226
|
+
|
|
4227
|
+
## [REQUIRED] Student Fill-in Worksheet Format (Offline Handout)
|
|
4228
|
+
{{OFFLINE_WORKSHEET_FORMAT}}
|
|
4229
|
+
`;
|
|
4230
|
+
|
|
4231
|
+
// src/templates/slidePresets.ts
|
|
4232
|
+
var SLIDE_LAYOUT_PRESETS = [
|
|
4233
|
+
{
|
|
4234
|
+
id: "title-hero",
|
|
4235
|
+
name: "Title & Speaker Cover",
|
|
4236
|
+
category: "cover",
|
|
4237
|
+
description: "High-impact opening slide with large title, subtitle, and speaker credentials.",
|
|
4238
|
+
layout: {
|
|
4239
|
+
boxes: [
|
|
4240
|
+
{
|
|
4241
|
+
id: "title",
|
|
4242
|
+
target: "h1",
|
|
4243
|
+
pos: [100, 180, 1080, 140],
|
|
4244
|
+
fontSize: "3rem",
|
|
4245
|
+
textAlign: "center"
|
|
4246
|
+
},
|
|
4247
|
+
{
|
|
4248
|
+
id: "subtitle",
|
|
4249
|
+
target: "h3",
|
|
4250
|
+
pos: [100, 350, 1080, 70],
|
|
4251
|
+
fontSize: "1.5rem",
|
|
4252
|
+
textAlign: "center"
|
|
4253
|
+
},
|
|
4254
|
+
{
|
|
4255
|
+
id: "speaker-meta",
|
|
4256
|
+
target: "p",
|
|
4257
|
+
pos: [100, 460, 1080, 80],
|
|
4258
|
+
fontSize: "1.1rem",
|
|
4259
|
+
textAlign: "center"
|
|
4260
|
+
}
|
|
4261
|
+
]
|
|
4262
|
+
},
|
|
4263
|
+
markdownSnippet: `<!-- layout:
|
|
4264
|
+
boxes:
|
|
4265
|
+
- id: title
|
|
4266
|
+
target: h1
|
|
4267
|
+
pos: [100, 180, 1080, 140]
|
|
4268
|
+
fontSize: 3rem
|
|
4269
|
+
textAlign: center
|
|
4270
|
+
- id: subtitle
|
|
4271
|
+
target: h3
|
|
4272
|
+
pos: [100, 350, 1080, 70]
|
|
4273
|
+
fontSize: 1.5rem
|
|
4274
|
+
textAlign: center
|
|
4275
|
+
- id: speaker-meta
|
|
4276
|
+
target: p
|
|
4277
|
+
pos: [100, 460, 1080, 80]
|
|
4278
|
+
fontSize: 1.1rem
|
|
4279
|
+
textAlign: center
|
|
4280
|
+
-->
|
|
4281
|
+
|
|
4282
|
+
# \u{1F680} Engineering Scalable Cloud Systems
|
|
4283
|
+
### Principles, Bottlenecks, and Real-World Architecture Patterns
|
|
4284
|
+
|
|
4285
|
+
**Presenter:** Senior Systems Architect | **Duration:** 45 mins | **Level:** Intermediate
|
|
4286
|
+
|
|
4287
|
+
<!--
|
|
4288
|
+
Presenter Notes:
|
|
4289
|
+
- Welcome the audience and outline today's primary engineering goals.
|
|
4290
|
+
- Spark curiosity with an opening hook about scaling under high concurrency.
|
|
4291
|
+
-->`
|
|
4292
|
+
},
|
|
4293
|
+
{
|
|
4294
|
+
id: "two-column-split",
|
|
4295
|
+
name: "Two-Column Comparison",
|
|
4296
|
+
category: "split",
|
|
4297
|
+
description: "Balanced side-by-side comparison for legacy vs modern patterns or pros vs cons.",
|
|
4298
|
+
layout: {
|
|
4299
|
+
boxes: [
|
|
4300
|
+
{
|
|
4301
|
+
id: "heading",
|
|
4302
|
+
target: "h2",
|
|
4303
|
+
pos: [80, 50, 1120, 70],
|
|
4304
|
+
fontSize: "2rem"
|
|
4305
|
+
},
|
|
4306
|
+
{
|
|
4307
|
+
id: "col-left",
|
|
4308
|
+
target: ".columns-2 > div:first-child",
|
|
4309
|
+
pos: [80, 150, 530, 510]
|
|
4310
|
+
},
|
|
4311
|
+
{
|
|
4312
|
+
id: "col-right",
|
|
4313
|
+
target: ".columns-2 > div:last-child",
|
|
4314
|
+
pos: [670, 150, 530, 510]
|
|
4315
|
+
}
|
|
4316
|
+
]
|
|
4317
|
+
},
|
|
4318
|
+
markdownSnippet: `<!-- layout:
|
|
4319
|
+
boxes:
|
|
4320
|
+
- id: heading
|
|
4321
|
+
target: h2
|
|
4322
|
+
pos: [80, 50, 1120, 70]
|
|
4323
|
+
fontSize: 2rem
|
|
4324
|
+
- id: col-left
|
|
4325
|
+
target: '.columns-2 > div:first-child'
|
|
4326
|
+
pos: [80, 150, 530, 510]
|
|
4327
|
+
- id: col-right
|
|
4328
|
+
target: '.columns-2 > div:last-child'
|
|
4329
|
+
pos: [670, 150, 530, 510]
|
|
4330
|
+
-->
|
|
4331
|
+
|
|
4332
|
+
## \u2696\uFE0F Monolithic Polling vs Event-Driven Architecture
|
|
4333
|
+
|
|
4334
|
+
<div class="columns-2">
|
|
4335
|
+
<div>
|
|
4336
|
+
|
|
4337
|
+
### \u{1F534} Legacy Polling
|
|
4338
|
+
- Heavy database CPU overhead on idle cycles
|
|
4339
|
+
- High network latency between updates
|
|
4340
|
+
- Prone to cascading timeouts during spikes
|
|
4341
|
+
|
|
4342
|
+
</div>
|
|
4343
|
+
<div>
|
|
4344
|
+
|
|
4345
|
+
### \u{1F7E2} Event-Driven Streams
|
|
4346
|
+
- Real-time event propagation via webhooks
|
|
4347
|
+
- Zero idle compute waste with serverless consumers
|
|
4348
|
+
- Automatic backpressure and queue isolation
|
|
4349
|
+
|
|
4350
|
+
</div>
|
|
4351
|
+
</div>
|
|
4352
|
+
|
|
4353
|
+
<!--
|
|
4354
|
+
Presenter Notes:
|
|
4355
|
+
- Emphasize the core failure mode of periodic polling under sudden load spikes.
|
|
4356
|
+
- Ask the room if anyone has experienced database lockups caused by polling loops.
|
|
4357
|
+
-->`
|
|
4358
|
+
},
|
|
4359
|
+
{
|
|
4360
|
+
id: "code-explainer",
|
|
4361
|
+
name: "Code Walkthrough & Analysis",
|
|
4362
|
+
category: "code",
|
|
4363
|
+
description: "Syntax-highlighted code block on the left with step-by-step key annotations on the right.",
|
|
4364
|
+
layout: {
|
|
4365
|
+
boxes: [
|
|
4366
|
+
{
|
|
4367
|
+
id: "heading",
|
|
4368
|
+
target: "h2",
|
|
4369
|
+
pos: [80, 45, 1120, 65],
|
|
4370
|
+
fontSize: "1.9rem"
|
|
4371
|
+
},
|
|
4372
|
+
{
|
|
4373
|
+
id: "code-box",
|
|
4374
|
+
target: ".columns-2 > div:first-child",
|
|
4375
|
+
pos: [80, 135, 630, 535]
|
|
4376
|
+
},
|
|
4377
|
+
{
|
|
4378
|
+
id: "notes-box",
|
|
4379
|
+
target: ".columns-2 > div:last-child",
|
|
4380
|
+
pos: [740, 135, 460, 535]
|
|
4381
|
+
}
|
|
4382
|
+
]
|
|
4383
|
+
},
|
|
4384
|
+
markdownSnippet: `<!-- layout:
|
|
4385
|
+
boxes:
|
|
4386
|
+
- id: heading
|
|
4387
|
+
target: h2
|
|
4388
|
+
pos: [80, 45, 1120, 65]
|
|
4389
|
+
fontSize: 1.9rem
|
|
4390
|
+
- id: code-box
|
|
4391
|
+
target: '.columns-2 > div:first-child'
|
|
4392
|
+
pos: [80, 135, 630, 535]
|
|
4393
|
+
- id: notes-box
|
|
4394
|
+
target: '.columns-2 > div:last-child'
|
|
4395
|
+
pos: [740, 135, 460, 535]
|
|
4396
|
+
-->
|
|
4397
|
+
|
|
4398
|
+
## \u{1F4BB} Robust Async Transaction Pipeline
|
|
4399
|
+
|
|
4400
|
+
<div class="columns-2">
|
|
4401
|
+
<div>
|
|
4402
|
+
|
|
4403
|
+
\`\`\`ts
|
|
4404
|
+
// Process payment with idempotency guarantee
|
|
4405
|
+
export async function processPayment(order: Order) {
|
|
4406
|
+
const isValid = await validateOrder(order);
|
|
4407
|
+
if (!isValid) throw new Error("ValidationFailed");
|
|
4408
|
+
|
|
4409
|
+
const receipt = await chargeCard(order);
|
|
4410
|
+
return sendConfirmation(receipt);
|
|
4411
|
+
}
|
|
4412
|
+
\`\`\`
|
|
4413
|
+
|
|
4414
|
+
</div>
|
|
4415
|
+
<div>
|
|
4416
|
+
|
|
4417
|
+
### \u{1F50D} Key Engineering Invariants:
|
|
4418
|
+
1. **Early Guard Clause:** Validates payload immediately at line 3 before triggering external calls.
|
|
4419
|
+
2. **Deterministic Sequence:** Enforces strict order of operations using native \`await\`.
|
|
4420
|
+
3. **Audit Trail:** Returns immutable payment receipt upon successful execution.
|
|
4421
|
+
|
|
4422
|
+
</div>
|
|
4423
|
+
</div>
|
|
4424
|
+
|
|
4425
|
+
<!--
|
|
4426
|
+
Presenter Notes:
|
|
4427
|
+
- Walk through lines 1 to 7 sequentially.
|
|
4428
|
+
- Cold-call check: "What happens if line 6 throws a network timeout?"
|
|
4429
|
+
- Cognitive scaffolding: Highlight the importance of idempotency keys in payment APIs.
|
|
4430
|
+
-->`
|
|
4431
|
+
},
|
|
4432
|
+
{
|
|
4433
|
+
id: "metrics-3-card",
|
|
4434
|
+
name: "3-Metric Key Results Grid",
|
|
4435
|
+
category: "metrics",
|
|
4436
|
+
description: "Three high-visibility KPI stat cards for benchmarks, impact, and success criteria.",
|
|
4437
|
+
layout: {
|
|
4438
|
+
boxes: [
|
|
4439
|
+
{
|
|
4440
|
+
id: "heading",
|
|
4441
|
+
target: "h2",
|
|
4442
|
+
pos: [80, 50, 1120, 70],
|
|
4443
|
+
fontSize: "2rem",
|
|
4444
|
+
textAlign: "center"
|
|
4445
|
+
},
|
|
4446
|
+
{
|
|
4447
|
+
id: "metric-1",
|
|
4448
|
+
target: ".columns-3 > div:nth-child(1)",
|
|
4449
|
+
pos: [80, 165, 340, 485]
|
|
4450
|
+
},
|
|
4451
|
+
{
|
|
4452
|
+
id: "metric-2",
|
|
4453
|
+
target: ".columns-3 > div:nth-child(2)",
|
|
4454
|
+
pos: [470, 165, 340, 485]
|
|
4455
|
+
},
|
|
4456
|
+
{
|
|
4457
|
+
id: "metric-3",
|
|
4458
|
+
target: ".columns-3 > div:nth-child(3)",
|
|
4459
|
+
pos: [860, 165, 340, 485]
|
|
4460
|
+
}
|
|
4461
|
+
]
|
|
4462
|
+
},
|
|
4463
|
+
markdownSnippet: `<!-- layout:
|
|
4464
|
+
boxes:
|
|
4465
|
+
- id: heading
|
|
4466
|
+
target: h2
|
|
4467
|
+
pos: [80, 50, 1120, 70]
|
|
4468
|
+
fontSize: 2rem
|
|
4469
|
+
textAlign: center
|
|
4470
|
+
- id: metric-1
|
|
4471
|
+
target: '.columns-3 > div:nth-child(1)'
|
|
4472
|
+
pos: [80, 165, 340, 485]
|
|
4473
|
+
- id: metric-2
|
|
4474
|
+
target: '.columns-3 > div:nth-child(2)'
|
|
4475
|
+
pos: [470, 165, 340, 485]
|
|
4476
|
+
- id: metric-3
|
|
4477
|
+
target: '.columns-3 > div:nth-child(3)'
|
|
4478
|
+
pos: [860, 165, 340, 485]
|
|
4479
|
+
-->
|
|
4480
|
+
|
|
4481
|
+
## \u{1F4CA} Performance & Reliability Benchmarks
|
|
4482
|
+
|
|
4483
|
+
<div class="columns-3">
|
|
4484
|
+
<div>
|
|
4485
|
+
|
|
4486
|
+
# \u26A1 99.99%
|
|
4487
|
+
### SLA Availability
|
|
4488
|
+
High-availability multi-region cluster with automated failover routing.
|
|
4489
|
+
|
|
4490
|
+
</div>
|
|
4491
|
+
<div>
|
|
4492
|
+
|
|
4493
|
+
# \u{1F680} 15ms
|
|
4494
|
+
### P99 Latency
|
|
4495
|
+
Sub-20ms roundtrip response time via distributed edge caching.
|
|
4496
|
+
|
|
4497
|
+
</div>
|
|
4498
|
+
<div>
|
|
4499
|
+
|
|
4500
|
+
# \u{1F6E1}\uFE0F Zero
|
|
4501
|
+
### Unhandled Breaches
|
|
4502
|
+
Full SOC2 Type II compliance and end-to-end payload encryption.
|
|
4503
|
+
|
|
4504
|
+
</div>
|
|
4505
|
+
</div>
|
|
4506
|
+
|
|
4507
|
+
<!--
|
|
4508
|
+
Presenter Notes:
|
|
4509
|
+
- Highlight the 15ms P99 latency target as the primary technical milestone.
|
|
4510
|
+
- Connect these metrics directly to the architecture decisions discussed next.
|
|
4511
|
+
-->`
|
|
4512
|
+
},
|
|
4513
|
+
{
|
|
4514
|
+
id: "process-flow",
|
|
4515
|
+
name: "Architecture & Process Flow",
|
|
4516
|
+
category: "diagram",
|
|
4517
|
+
description: "Multi-stage workflow with responsive Mermaid diagram and phase summaries.",
|
|
4518
|
+
layout: {
|
|
4519
|
+
boxes: [
|
|
4520
|
+
{
|
|
4521
|
+
id: "heading",
|
|
4522
|
+
target: "h2",
|
|
4523
|
+
pos: [80, 45, 1120, 65],
|
|
4524
|
+
fontSize: "1.9rem"
|
|
4525
|
+
},
|
|
4526
|
+
{
|
|
4527
|
+
id: "diagram-box",
|
|
4528
|
+
target: "pre.mermaid, .mermaid",
|
|
4529
|
+
pos: [80, 130, 1120, 310]
|
|
4530
|
+
},
|
|
4531
|
+
{
|
|
4532
|
+
id: "summary-box",
|
|
4533
|
+
target: "ul, p",
|
|
4534
|
+
pos: [80, 465, 1120, 205]
|
|
4535
|
+
}
|
|
4536
|
+
]
|
|
4537
|
+
},
|
|
4538
|
+
markdownSnippet: `<!-- layout:
|
|
4539
|
+
boxes:
|
|
4540
|
+
- id: heading
|
|
4541
|
+
target: h2
|
|
4542
|
+
pos: [80, 45, 1120, 65]
|
|
4543
|
+
fontSize: 1.9rem
|
|
4544
|
+
- id: diagram-box
|
|
4545
|
+
target: 'pre.mermaid, .mermaid'
|
|
4546
|
+
pos: [80, 130, 1120, 310]
|
|
4547
|
+
- id: summary-box
|
|
4548
|
+
target: 'ul, p'
|
|
4549
|
+
pos: [80, 465, 1120, 205]
|
|
4550
|
+
-->
|
|
4551
|
+
|
|
4552
|
+
## \u{1F504} End-to-End Data Ingestion Pipeline
|
|
4553
|
+
|
|
4554
|
+
\`\`\`mermaid
|
|
4555
|
+
graph LR
|
|
4556
|
+
A[1. Client Ingress] --> B[2. API Gateway]
|
|
4557
|
+
B --> C[3. Auth Verifier]
|
|
4558
|
+
C --> D[4. Distributed DB]
|
|
4559
|
+
style A fill:#0284c7,stroke:#38bdf8,stroke-width:2px,color:#fff
|
|
4560
|
+
style B fill:#1e293b,stroke:#64748b,stroke-width:2px,color:#fff
|
|
4561
|
+
style C fill:#059669,stroke:#34d399,stroke-width:2px,color:#fff
|
|
4562
|
+
style D fill:#7c3aed,stroke:#a78bfa,stroke-width:2px,color:#fff
|
|
4563
|
+
\`\`\`
|
|
4564
|
+
|
|
4565
|
+
- **Ingress & Gateway:** Rate-limits traffic and applies reverse-proxy load balancing.
|
|
4566
|
+
- **Verification & Storage:** Decodes cryptographic JWT tokens before transactional write commit.
|
|
4567
|
+
|
|
4568
|
+
<!--
|
|
4569
|
+
Presenter Notes:
|
|
4570
|
+
- Trace each hop across the diagram from left to right.
|
|
4571
|
+
- Ask: "Where should rate limiting be applied to prevent DDoS attacks?"
|
|
4572
|
+
-->`
|
|
4573
|
+
},
|
|
4574
|
+
{
|
|
4575
|
+
id: "quote-highlight",
|
|
4576
|
+
name: "Core Principle & Quote Highlight",
|
|
4577
|
+
category: "quote",
|
|
4578
|
+
description: "Prominent quote callout for fundamental engineering rules or memorable mantras.",
|
|
4579
|
+
layout: {
|
|
4580
|
+
boxes: [
|
|
4581
|
+
{
|
|
4582
|
+
id: "heading",
|
|
4583
|
+
target: "h2",
|
|
4584
|
+
pos: [100, 100, 1080, 80],
|
|
4585
|
+
fontSize: "2.2rem",
|
|
4586
|
+
textAlign: "center"
|
|
4587
|
+
},
|
|
4588
|
+
{
|
|
4589
|
+
id: "quote-box",
|
|
4590
|
+
target: "blockquote",
|
|
4591
|
+
pos: [140, 230, 1e3, 360],
|
|
4592
|
+
fontSize: "1.4rem"
|
|
4593
|
+
}
|
|
4594
|
+
]
|
|
4595
|
+
},
|
|
4596
|
+
markdownSnippet: `<!-- layout:
|
|
4597
|
+
boxes:
|
|
4598
|
+
- id: heading
|
|
4599
|
+
target: h2
|
|
4600
|
+
pos: [100, 100, 1080, 80]
|
|
4601
|
+
fontSize: 2.2rem
|
|
4602
|
+
textAlign: center
|
|
4603
|
+
- id: quote-box
|
|
4604
|
+
target: blockquote
|
|
4605
|
+
pos: [140, 230, 1000, 360]
|
|
4606
|
+
fontSize: 1.4rem
|
|
4607
|
+
-->
|
|
4608
|
+
|
|
4609
|
+
## \u{1F4A1} Foundational Architecture Principle
|
|
4610
|
+
|
|
4611
|
+
> "Simplicity is prerequisite for reliability. A well-engineered distributed system is one where a new engineer can understand the request flow within their first hour."
|
|
4612
|
+
>
|
|
4613
|
+
> \u2014 **Edsger W. Dijkstra**
|
|
4614
|
+
|
|
4615
|
+
<!--
|
|
4616
|
+
Presenter Notes:
|
|
4617
|
+
- Pause for 5 seconds of silence to let the quote sink in.
|
|
4618
|
+
- Ask: "How do our current architectural choices reflect this principle?"
|
|
4619
|
+
-->`
|
|
4620
|
+
},
|
|
4621
|
+
{
|
|
4622
|
+
id: "quiz-checkpoint",
|
|
4623
|
+
name: "Interactive Formative Checkpoint",
|
|
4624
|
+
category: "assessment",
|
|
4625
|
+
description: "Interactive multiple-choice diagnostic checkpoint with A/B/C/D voting options.",
|
|
4626
|
+
layout: {
|
|
4627
|
+
boxes: [
|
|
4628
|
+
{
|
|
4629
|
+
id: "heading",
|
|
4630
|
+
target: "h2",
|
|
4631
|
+
pos: [80, 45, 1120, 65],
|
|
4632
|
+
fontSize: "1.9rem"
|
|
4633
|
+
},
|
|
4634
|
+
{
|
|
4635
|
+
id: "question-callout",
|
|
4636
|
+
target: "blockquote",
|
|
4637
|
+
pos: [80, 130, 1120, 110],
|
|
4638
|
+
fontSize: "1.2rem"
|
|
4639
|
+
},
|
|
4640
|
+
{
|
|
4641
|
+
id: "options-list",
|
|
4642
|
+
target: "ul",
|
|
4643
|
+
pos: [80, 260, 1120, 390],
|
|
4644
|
+
fontSize: "1.15rem"
|
|
4645
|
+
}
|
|
4646
|
+
]
|
|
4647
|
+
},
|
|
4648
|
+
markdownSnippet: `<!-- layout:
|
|
4649
|
+
boxes:
|
|
4650
|
+
- id: heading
|
|
4651
|
+
target: h2
|
|
4652
|
+
pos: [80, 45, 1120, 65]
|
|
4653
|
+
fontSize: 1.9rem
|
|
4654
|
+
- id: question-callout
|
|
4655
|
+
target: blockquote
|
|
4656
|
+
pos: [80, 130, 1120, 110]
|
|
4657
|
+
fontSize: 1.2rem
|
|
4658
|
+
- id: options-list
|
|
4659
|
+
target: ul
|
|
4660
|
+
pos: [80, 260, 1120, 390]
|
|
4661
|
+
fontSize: 1.15rem
|
|
4662
|
+
-->
|
|
4663
|
+
|
|
4664
|
+
## \u{1F3AF} Formative Checkpoint: Verify Your Understanding
|
|
4665
|
+
|
|
4666
|
+
> **Question:** In an event-driven architecture, which pattern guarantees that messages are never permanently lost if a downstream consumer crashes?
|
|
4667
|
+
|
|
4668
|
+
- **A.** Direct synchronous HTTP request with short 2-second timeout
|
|
4669
|
+
- **B.** Persistent Message Broker with Dead-Letter Queue (DLQ) & retry policy
|
|
4670
|
+
- **C.** In-memory client RAM cache without persistence
|
|
4671
|
+
- **D.** Discarding failed packets and prompting the user to re-submit
|
|
4672
|
+
|
|
4673
|
+
<!--
|
|
4674
|
+
Presenter Notes:
|
|
4675
|
+
- Give students 30 seconds to vote on option A, B, C, or D.
|
|
4676
|
+
- Correct answer: B.
|
|
4677
|
+
- Explain why options A and C introduce catastrophic data loss in production.
|
|
4678
|
+
-->`
|
|
4679
|
+
},
|
|
4680
|
+
{
|
|
4681
|
+
id: "tiered-practice-3cards",
|
|
4682
|
+
name: "Tiered Differentiation (Bronze / Silver / Gold)",
|
|
4683
|
+
category: "content",
|
|
4684
|
+
description: "Three progressive competency tiers allowing self-paced learning acceleration.",
|
|
4685
|
+
layout: {
|
|
4686
|
+
boxes: [
|
|
4687
|
+
{
|
|
4688
|
+
id: "heading",
|
|
4689
|
+
target: "h2",
|
|
4690
|
+
pos: [80, 45, 1120, 65],
|
|
4691
|
+
fontSize: "1.9rem"
|
|
4692
|
+
},
|
|
4693
|
+
{
|
|
4694
|
+
id: "tier-bronze",
|
|
4695
|
+
target: ".columns-3 > div:nth-child(1)",
|
|
4696
|
+
pos: [80, 140, 350, 520]
|
|
4697
|
+
},
|
|
4698
|
+
{
|
|
4699
|
+
id: "tier-silver",
|
|
4700
|
+
target: ".columns-3 > div:nth-child(2)",
|
|
4701
|
+
pos: [465, 140, 350, 520]
|
|
4702
|
+
},
|
|
4703
|
+
{
|
|
4704
|
+
id: "tier-gold",
|
|
4705
|
+
target: ".columns-3 > div:nth-child(3)",
|
|
4706
|
+
pos: [850, 140, 350, 520]
|
|
4707
|
+
}
|
|
4708
|
+
]
|
|
4709
|
+
},
|
|
4710
|
+
markdownSnippet: `<!-- layout:
|
|
4711
|
+
boxes:
|
|
4712
|
+
- id: heading
|
|
4713
|
+
target: h2
|
|
4714
|
+
pos: [80, 45, 1120, 65]
|
|
4715
|
+
fontSize: 1.9rem
|
|
4716
|
+
- id: tier-bronze
|
|
4717
|
+
target: '.columns-3 > div:nth-child(1)'
|
|
4718
|
+
pos: [80, 140, 350, 520]
|
|
4719
|
+
- id: tier-silver
|
|
4720
|
+
target: '.columns-3 > div:nth-child(2)'
|
|
4721
|
+
pos: [465, 140, 350, 520]
|
|
4722
|
+
- id: tier-gold
|
|
4723
|
+
target: '.columns-3 > div:nth-child(3)'
|
|
4724
|
+
pos: [850, 140, 350, 520]
|
|
4725
|
+
-->
|
|
4726
|
+
|
|
4727
|
+
## \u{1F6E0}\uFE0F Hands-On Challenge: 3-Tier Differentiation
|
|
4728
|
+
|
|
4729
|
+
<div class="columns-3">
|
|
4730
|
+
<div>
|
|
4731
|
+
|
|
4732
|
+
### \u{1F949} Bronze Tier
|
|
4733
|
+
- Implement baseline function
|
|
4734
|
+
- Pass 3 baseline unit tests
|
|
4735
|
+
- *Goal: Foundational mastery*
|
|
4736
|
+
|
|
4737
|
+
</div>
|
|
4738
|
+
<div>
|
|
4739
|
+
|
|
4740
|
+
### \u{1F948} Silver Tier
|
|
4741
|
+
- Add boundary error handling
|
|
4742
|
+
- Enforce O(N) memory complexity
|
|
4743
|
+
- *Goal: Production-ready code*
|
|
4744
|
+
|
|
4745
|
+
</div>
|
|
4746
|
+
<div>
|
|
4747
|
+
|
|
4748
|
+
### \u{1F947} Gold Tier
|
|
4749
|
+
- Design distributed retry queue
|
|
4750
|
+
- Add 95% automated test coverage
|
|
4751
|
+
- *Goal: Architectural leadership*
|
|
4752
|
+
|
|
4753
|
+
</div>
|
|
4754
|
+
</div>
|
|
4755
|
+
|
|
4756
|
+
<!--
|
|
4757
|
+
Presenter Notes:
|
|
4758
|
+
- All learners begin at Bronze to establish baseline competency.
|
|
4759
|
+
- Accelerate self-directed learners to Silver and Gold as they complete each tier.
|
|
4760
|
+
-->`
|
|
4761
|
+
},
|
|
4762
|
+
{
|
|
4763
|
+
id: "agenda-timeline",
|
|
4764
|
+
name: "Session Agenda & Milestones",
|
|
4765
|
+
category: "content",
|
|
4766
|
+
description: "Structured time-budgeted agenda mapping stages to measurable deliverables.",
|
|
4767
|
+
layout: {
|
|
4768
|
+
boxes: [
|
|
4769
|
+
{
|
|
4770
|
+
id: "heading",
|
|
4771
|
+
target: "h2",
|
|
4772
|
+
pos: [80, 45, 1120, 65],
|
|
4773
|
+
fontSize: "1.9rem"
|
|
4774
|
+
},
|
|
4775
|
+
{
|
|
4776
|
+
id: "table-box",
|
|
4777
|
+
target: "table",
|
|
4778
|
+
pos: [80, 140, 1120, 520]
|
|
4779
|
+
}
|
|
4780
|
+
]
|
|
4781
|
+
},
|
|
4782
|
+
markdownSnippet: `<!-- layout:
|
|
4783
|
+
boxes:
|
|
4784
|
+
- id: heading
|
|
4785
|
+
target: h2
|
|
4786
|
+
pos: [80, 45, 1120, 65]
|
|
4787
|
+
fontSize: 1.9rem
|
|
4788
|
+
- id: table-box
|
|
4789
|
+
target: table
|
|
4790
|
+
pos: [80, 140, 1120, 520]
|
|
4791
|
+
-->
|
|
4792
|
+
|
|
4793
|
+
## \u{1F5FA}\uFE0F Milestone Roadmap & Time Budget
|
|
4794
|
+
|
|
4795
|
+
| Allocated Time | Session Stage | Core Learning Focus | Deliverable Milestone |
|
|
4796
|
+
|:---:|---|---|---|
|
|
4797
|
+
| **05 mins** | Warm-Up | Real-World Scenario & Context | Identify system bottleneck |
|
|
4798
|
+
| **15 mins** | Concept Discovery | Core Architectural Patterns | Deconstruct message queue models |
|
|
4799
|
+
| **20 mins** | Hands-On Lab | Tiered Code Implementation | Complete Bronze + Silver tasks |
|
|
4800
|
+
| **05 mins** | Wrap-Up | Formative Checkpoint & Debrief | Consolidate key principles |
|
|
4801
|
+
|
|
4802
|
+
<!--
|
|
4803
|
+
Presenter Notes:
|
|
4804
|
+
- Walk through the time budget so students understand expectations and pacing.
|
|
4805
|
+
-->`
|
|
4806
|
+
},
|
|
4807
|
+
{
|
|
4808
|
+
id: "takeaways-summary",
|
|
4809
|
+
name: "Key Takeaways & Wrap-up",
|
|
4810
|
+
category: "content",
|
|
4811
|
+
description: "Three memorable synthesis takeaways with actionable next steps.",
|
|
4812
|
+
layout: {
|
|
4813
|
+
boxes: [
|
|
4814
|
+
{
|
|
4815
|
+
id: "heading",
|
|
4816
|
+
target: "h2",
|
|
4817
|
+
pos: [80, 50, 1120, 70],
|
|
4818
|
+
fontSize: "2rem"
|
|
4819
|
+
},
|
|
4820
|
+
{
|
|
4821
|
+
id: "list-box",
|
|
4822
|
+
target: "ol",
|
|
4823
|
+
pos: [80, 150, 1120, 340],
|
|
4824
|
+
fontSize: "1.25rem"
|
|
4825
|
+
},
|
|
4826
|
+
{
|
|
4827
|
+
id: "callout-next",
|
|
4828
|
+
target: "blockquote",
|
|
4829
|
+
pos: [80, 520, 1120, 140],
|
|
4830
|
+
fontSize: "1.1rem"
|
|
4831
|
+
}
|
|
4832
|
+
]
|
|
4833
|
+
},
|
|
4834
|
+
markdownSnippet: `<!-- layout:
|
|
4835
|
+
boxes:
|
|
4836
|
+
- id: heading
|
|
4837
|
+
target: h2
|
|
4838
|
+
pos: [80, 50, 1120, 70]
|
|
4839
|
+
fontSize: 2rem
|
|
4840
|
+
- id: list-box
|
|
4841
|
+
target: ol
|
|
4842
|
+
pos: [80, 150, 1120, 340]
|
|
4843
|
+
fontSize: 1.25rem
|
|
4844
|
+
- id: callout-next
|
|
4845
|
+
target: blockquote
|
|
4846
|
+
pos: [80, 520, 1120, 140]
|
|
4847
|
+
fontSize: 1.1rem
|
|
4848
|
+
-->
|
|
4849
|
+
|
|
4850
|
+
## \u{1F3C1} Key Takeaways & Action Items
|
|
4851
|
+
|
|
4852
|
+
1. **Decouple Before Scaling:** Separate producer rate from consumer processing capacity.
|
|
4853
|
+
2. **Design for Failure:** Always configure retries, backoff intervals, and dead-letter queues.
|
|
4854
|
+
3. **Measure End-to-End:** Track P99 latency and error rates across all distributed boundaries.
|
|
4855
|
+
|
|
4856
|
+
> \u{1F4DD} **Next Action Item:** Complete the Silver Tier refactoring challenge before our next peer-review session.
|
|
4857
|
+
|
|
4858
|
+
<!--
|
|
4859
|
+
Presenter Notes:
|
|
4860
|
+
- Deliver a crisp 2-minute wrap-up reinforcing the 3 core takeaways.
|
|
4861
|
+
- Acknowledge strong peer collaboration during the hands-on lab.
|
|
4862
|
+
-->`
|
|
4863
|
+
}
|
|
4864
|
+
];
|
|
4865
|
+
function getSlideLayoutPresetById(id) {
|
|
4866
|
+
return SLIDE_LAYOUT_PRESETS.find((p) => p.id === id);
|
|
4867
|
+
}
|
|
4868
|
+
function getSlideLayoutPresetsByCategory(category) {
|
|
4869
|
+
return SLIDE_LAYOUT_PRESETS.filter((p) => p.category === category);
|
|
4870
|
+
}
|
|
4871
|
+
|
|
3197
4872
|
// src/ai/prompts/lessonMasterPrompt.ts
|
|
3198
4873
|
function buildLessonMasterPrompt(input) {
|
|
3199
4874
|
const { milestone, language, topic, targetAudience, contextContinuity, standardsContext } = input;
|
|
@@ -15267,6 +16942,6 @@ function renderMediaPlaceholder(entry) {
|
|
|
15267
16942
|
return `> \u{1F5BC}\uFE0F [\u1EA2nh \u0111ang ch\u1EDD: ${entry.name} \u2014 s\u1EBD \u0111\u01B0\u1EE3c t\u1EA1o sau khi duy\u1EC7t media]`;
|
|
15268
16943
|
}
|
|
15269
16944
|
|
|
15270
|
-
export { ARTIFACT_EXECUTION_ORDER, AcademicAuditor, ActiveLearningWorkflowSchema, ActivityLabSchema, ActivitySeqRowSchema, ActivityStepSchema, ArtifactContractRowSchema, AssessmentMapRowSchema, AssessmentObjectiveSchema, BLOOM_ACTION_VERBS, BUNDLED_STANDARDS_PACK_IDS, BellRingerDaySchema, BellRingerSchema, BloomHintSchema, BloomLevelSchema, BloomTaxonomyEvaluator, BronzeTierSchema, CERConclusionSchema, CURRICULUM_SLASH_COMMANDS, CardTierEnum, ChoiceBoardRubricRowSchema, ChoiceBoardSchema, ChoiceRuleSchema, ChoiceSquareSchema, ClassificationSchema, CodeHardwareFeasibilityEvaluator, CodeLabSchema, CodeSnippetSchema, CompetencyRubricRowSchema, ComputationalThinkingSchema, ConstructiveAlignmentEvaluator, CoreConceptSchema, CourseObjectiveSchema, CoverageReportSchema, CrossArtifactDriftEvaluator, CurriculumArtifactSchema, CurriculumError, CurriculumPlanSchema, CurriculumQualityReportSchema, DEFAULT_ENABLED_PROVIDERS, DEFAULT_GATE_SETTINGS, DependencyEdgeSchema, DepthAssignmentSchema, DepthLevelSchema, DeterministicPipelineRunner, DeterministicStructuralLinter, DiagnosticQuestionSchema, DiagnosticQuizSchema, EDPPhaseEnum, EXPOSITION_REL, EntryLevelSchema, ExitTicketBugHuntSchema, ExitTicketMetacognitionSchema, ExitTicketQuickItemSchema, ExitTicketRecallPromptSchema, ExitTicketSchema, ExperimentalDesignSchema, ExpositionApprovalError, ExtensionChallengeSchema, ExtensionSchema, FileSystemCurriculumAdapter, FiveEFlowPhaseSchema, FiveEInstructionalEvaluator, FiveEPhaseEnum, FrameworkMappingSchema, FrameworkPackManifestSchema, FrameworkPackSchema, FrameworkStatementSchema, GlossaryQuickRefRowSchema, GlossarySchema, GlossaryTermSchema, GoldTierSchema, GradeBandSchema, GraphicOrganizerItemSchema, GraphicOrganizerSchema, HandoutSchema, HandoutSectionSchema, InstructionSectionSchema, InstructionStepSchema, JudgeCriterionSchema, LLMJudgeEngine, LabTierTaskSchema, LearningObjectiveInputSchema, LearningObjectiveRowSchema, LessonFlowPhaseSchema, LessonPlan5ESchema, LessonPlanEDPSchema, LessonPlanSchema, LessonSectionSchema, LocalWorkspaceManager, MappingKindSchema, MarpSlideSchema, MediaError, MediaLedger, MentorCheatsheetSchema, MilestoneInputSchema, MisconceptionEvaluator, MisconceptionSchema, ModelPolicyResolver, NVIDIA_MODELS, NodeKindSchema, OrganizerTypeEnum, PhaseInputSchema, PlanConstraintsSchema, PlannerInputSchema, PlanningGraphSchema, PlanningNodeSchema, PrerequisiteDecisionEntrySchema, PrerequisiteDecisionSchema, ProductGoalSchema, ProgressiveHintsSchema, ProjectGraphSchema, ProjectInstructionSchema, ProjectProfileSchema, QualityAuditVerdictSchema, QuizOptionSchema, RecordProvenanceSchema, ResourceMapRowSchema, ReviewGameExportRowSchema, ReviewGameQuestionSchema, ReviewGameSchema, RoadmapInputSchema, RotationStationSchema, RubricCriteriaSchema, RubricSchema, STANDARD_SOT_FILES, ScaffoldDecisionEntrySchema, ScaffoldDecisionSchema, ScienceLabSchema, ScoringRubricRowSchema, SelfLabSchema, SelfPacedBundleSchema, SelfPacedChallengeSchema, SessionPlanSchema, SilverTierSchema, SlideDeckSchema, StandardizedTermRowSchema, StandardsRegistryAdapter, StationRecordRowSchema, StationRotationSchema, StationTypeEnum, SupabaseCurriculumAdapter, TaskCardSchema, TaskCardsSchema, TeacherGuideSchema, TeachingScriptPhaseSchema, TierLevelEnum, TierObjectiveSchema, TieredPracticeSchema, TranslationPolicySchema, TroubleshootingEntrySchema, TroubleshootingRowSchema, UnitPlanSchema, UserJourneySchema, WorksheetItemSchema, WorksheetItemTypeEnum, WorksheetPartSchema, WorksheetSchema, activityTools, analystTools, analyzeProjectCreationIntent, approvalPayloadSchema, assertAcyclic, assessorTools, auditCurriculumQualityFlow, auditQualityReport, buildActivityPrompt, buildCodeLabPrompt, buildCurriculumContext, buildCurriculumPlan, buildDeliveryPackages, buildDiagnosticQuizPrompt, buildExpositionContext, buildExtensionPrompt, buildHandoutPrompt, buildImagePrompt, buildJudgePrompt, buildLessonMasterPrompt, buildProjectInstructionPrompt, buildSelfLabPrompt, buildSessionSliceContext, buildSlidesPrompt, buildStandardStackMarkdown, buildStandardsContext, buildStandardsContextBlock, buildTeacherGuidePrompt, buildWorksheetPrompt, computeContentHash, computePackingSpec, conductPreliminaryResearch, contentTools, convertRoadmapToFoundationSot, createAiInferenceError, createCurriculumStorage, curateMediaLedger, designerTools, detectProjectPedagogy, ensureExpositionForLesson, ensureKnowledgeExposition, evaluateStandardsCoverage, executeCurriculumCommand, executeSingleArtifactStep, exportAllProjectQuizzes, expositionCacheKey, extractScopeSequenceRows, extractSessionSlice, extractThoughtAndContent, formatQuizzesToCsv, fulfillMediaLedger, gateModeFor, generateActivityFlow, generateActivityStep, generateCodeLabFlow, generateCodeLabStep, generateDiagnosticQuizFlow, generateDiagnosticQuizStep, generateEducationalImage, generateExtensionFlow, generateExtensionStep, generateHandoutFlow, generateHandoutStep, generateLessonMasterFlow, generateMasterLessonStep, generateMilestoneCurriculumBundle, generateMilestoneWorkflow, generatePhase1SotArtifacts, generatePhase2SotArtifacts, generateProjectInstruction, generateProjectInstructionFlow, generateRoadmapCurriculum, generateRoadmapWorkflow, generateSelfLabFlow, generateSelfLabStep, generateSelfPacedBundle, generateSingleArtifact, generateSingleArtifactWorkflow, generateSlidesFlow, generateSlidesStep, generateTeacherGuideFlow, generateTeacherGuideStep, generateWorksheetFlow, generateWorksheetStep, getAIModel, getArtifactMetadata, getDesignatedFallbackChain, getDesignatedFallbackConfig, getLessonMetadata, getProjectArtifactScope, getProjectStatusReport, getSmartResumeContext, glossaryTermsForSession, illustratorTools, importRoadmapToProject, ingestProjectGraphIntoProject, initializeProjectInStorage, injectMediaIntoMarkdown, isExpositionFresh, isModelAllowed, isProviderEnabled, isTranslationDue, judgeMasterLessonStep, judgeSatelliteStep, lessonApprovalHook, lintAndSanitizeArtifact, lintCurriculumFramework, lintFrameworkPack, loadCurriculumTemplate, loadSotTemplate, normalizePlanningGraph, packagerTools, parseGateSettings, parseQuizMarkdown, parseRoadmapJsonToProjectPayload, produceBatchLessons, produceSingleLesson, publishToGitHub, publishToGitStep, publishToSupabase, publishToSupabaseStep, rankGenCandidates, renderFrameworkFromPlan, renderMediaPlaceholder, repairMasterLessonStep, researcherTools, resolveGateSettings, resolveStandardsPacks, resolveTranslationTargets, reviewerTools, runCurriculumAIInference, safeParseJson, saveMilestoneToWorkspaceStep, searchEducationalImages, searchEducationalVideos, selectStatementsForLesson, serializeActivityToMarkdown, serializeCodeLabToMarkdown, serializeDiagnosticQuizToMarkdown, serializeHandoutToMarkdown, serializeLessonToMarkdown, serializeProjectInstructionToMarkdown, serializeSelfLabToMarkdown, slugifyProjectName, streamCurriculumAIInference, streamCurriculumAIInferenceWithTools, streamDiagnosticQuizFlow, streamLLMWithFallback, streamLayerPrefillWithFallback, streamLessonMasterFlow, streamSelfLabFlow, techSmeTools, topoSort, uploadAssetToBucket, validateCurriculumPlan, validateFrameworkPack, validateMarkdownTables, validateMermaidSyntax, withAutoRepair, withRateLimitBackoff };
|
|
16945
|
+
export { ACT_TEMPLATE, ARTIFACT_EXECUTION_ORDER, AcademicAuditor, ActiveLearningWorkflowSchema, ActivityLabSchema, ActivitySeqRowSchema, ActivityStepSchema, ArtifactContractRowSchema, AssessmentMapRowSchema, AssessmentObjectiveSchema, BELL_RINGER_TEMPLATE, BLOOM_ACTION_VERBS, BOM_TEMPLATE, BUNDLED_STANDARDS_PACK_IDS, BellRingerDaySchema, BellRingerSchema, BloomHintSchema, BloomLevelSchema, BloomTaxonomyEvaluator, BronzeTierSchema, CERConclusionSchema, CHOICE_BOARD_TEMPLATE, CODE_LAB_TEMPLATE, CURRICULUM_SLASH_COMMANDS, CardTierEnum, ChoiceBoardRubricRowSchema, ChoiceBoardSchema, ChoiceRuleSchema, ChoiceSquareSchema, ClassificationSchema, CodeHardwareFeasibilityEvaluator, CodeLabSchema, CodeSnippetSchema, CompetencyRubricRowSchema, ComputationalThinkingSchema, ConstructiveAlignmentEvaluator, CoreConceptSchema, CourseObjectiveSchema, CoverageReportSchema, CrossArtifactDriftEvaluator, CurriculumArtifactSchema, CurriculumError, CurriculumPlanSchema, CurriculumQualityReportSchema, DEFAULT_ENABLED_PROVIDERS, DEFAULT_GATE_SETTINGS, DependencyEdgeSchema, DepthAssignmentSchema, DepthLevelSchema, DeterministicPipelineRunner, DeterministicStructuralLinter, DiagnosticQuestionSchema, DiagnosticQuizSchema, EDPPhaseEnum, EXIT_TICKET_TEMPLATE, EXPOSITION_REL, EXT_TEMPLATE, EntryLevelSchema, ExitTicketBugHuntSchema, ExitTicketMetacognitionSchema, ExitTicketQuickItemSchema, ExitTicketRecallPromptSchema, ExitTicketSchema, ExperimentalDesignSchema, ExpositionApprovalError, ExtensionChallengeSchema, ExtensionSchema, FileSystemCurriculumAdapter, FiveEFlowPhaseSchema, FiveEInstructionalEvaluator, FiveEPhaseEnum, FrameworkMappingSchema, FrameworkPackManifestSchema, FrameworkPackSchema, FrameworkStatementSchema, GLOSSARY_TEMPLATE, GRAPHIC_ORGANIZER_TEMPLATE, GlossaryQuickRefRowSchema, GlossarySchema, GlossaryTermSchema, GoldTierSchema, GradeBandSchema, GraphicOrganizerItemSchema, GraphicOrganizerSchema, HANDOUT_TEMPLATE, HandoutSchema, HandoutSectionSchema, InstructionSectionSchema, InstructionStepSchema, JudgeCriterionSchema, LESSON_PLAN_TEMPLATE, LLMJudgeEngine, LabTierTaskSchema, LearningObjectiveInputSchema, LearningObjectiveRowSchema, LessonFlowPhaseSchema, LessonPlan5ESchema, LessonPlanEDPSchema, LessonPlanSchema, LessonSectionSchema, LocalWorkspaceManager, MappingKindSchema, MarpSlideSchema, MediaError, MediaLedger, MentorCheatsheetSchema, MilestoneInputSchema, MisconceptionEvaluator, MisconceptionSchema, ModelPolicyResolver, NVIDIA_MODELS, NodeKindSchema, OrganizerTypeEnum, PROJECT_INSTRUCTION_TEMPLATE, PhaseInputSchema, PlanConstraintsSchema, PlannerInputSchema, PlanningGraphSchema, PlanningNodeSchema, PrerequisiteDecisionEntrySchema, PrerequisiteDecisionSchema, ProductGoalSchema, ProgressiveHintsSchema, ProjectGraphSchema, ProjectInstructionSchema, ProjectProfileSchema, QUIZ_TEMPLATE, QualityAuditVerdictSchema, QuizOptionSchema, REVIEW_GAME_TEMPLATE, RUBRIC_TEMPLATE, RecordProvenanceSchema, ResourceMapRowSchema, ReviewGameExportRowSchema, ReviewGameQuestionSchema, ReviewGameSchema, RoadmapInputSchema, RotationStationSchema, RubricCriteriaSchema, RubricSchema, SCIENCE_LAB_TEMPLATE, SELF_LAB_TEMPLATE, SLIDE_LAYOUT_PRESETS, SLIDE_TEMPLATE, STANDARD_SOT_FILES, STATION_ROTATION_TEMPLATE, ScaffoldDecisionEntrySchema, ScaffoldDecisionSchema, ScienceLabSchema, ScoringRubricRowSchema, SelfLabSchema, SelfPacedBundleSchema, SelfPacedChallengeSchema, SessionPlanSchema, SilverTierSchema, SlideDeckSchema, StandardizedTermRowSchema, StandardsRegistryAdapter, StationRecordRowSchema, StationRotationSchema, StationTypeEnum, SupabaseCurriculumAdapter, TASK_CARDS_TEMPLATE, TEACHER_GUIDE_TEMPLATE, TIERED_PRACTICE_TEMPLATE, TaskCardSchema, TaskCardsSchema, TeacherGuideSchema, TeachingScriptPhaseSchema, TierLevelEnum, TierObjectiveSchema, TieredPracticeSchema, TranslationPolicySchema, TroubleshootingEntrySchema, TroubleshootingRowSchema, UnitPlanSchema, UserJourneySchema, WORKSHEET_TEMPLATE, WorksheetItemSchema, WorksheetItemTypeEnum, WorksheetPartSchema, WorksheetSchema, activityTools, analystTools, analyzeProjectCreationIntent, approvalPayloadSchema, assertAcyclic, assessorTools, auditCurriculumQualityFlow, auditQualityReport, buildActivityPrompt, buildCodeLabPrompt, buildCurriculumContext, buildCurriculumPlan, buildDeliveryPackages, buildDiagnosticQuizPrompt, buildExpositionContext, buildExtensionPrompt, buildHandoutPrompt, buildImagePrompt, buildJudgePrompt, buildLessonMasterPrompt, buildProjectInstructionPrompt, buildSelfLabPrompt, buildSessionSliceContext, buildSlidesPrompt, buildStandardStackMarkdown, buildStandardsContext, buildStandardsContextBlock, buildTeacherGuidePrompt, buildWorksheetPrompt, computeContentHash, computePackingSpec, conductPreliminaryResearch, contentTools, convertRoadmapToFoundationSot, createAiInferenceError, createCurriculumStorage, curateMediaLedger, designerTools, detectProjectPedagogy, ensureExpositionForLesson, ensureKnowledgeExposition, evaluateStandardsCoverage, executeCurriculumCommand, executeSingleArtifactStep, exportAllProjectQuizzes, expositionCacheKey, extractScopeSequenceRows, extractSessionSlice, extractThoughtAndContent, formatQuizzesToCsv, fulfillMediaLedger, gateModeFor, generateActivityFlow, generateActivityStep, generateCodeLabFlow, generateCodeLabStep, generateDiagnosticQuizFlow, generateDiagnosticQuizStep, generateEducationalImage, generateExtensionFlow, generateExtensionStep, generateHandoutFlow, generateHandoutStep, generateLessonMasterFlow, generateMasterLessonStep, generateMilestoneCurriculumBundle, generateMilestoneWorkflow, generatePhase1SotArtifacts, generatePhase2SotArtifacts, generateProjectInstruction, generateProjectInstructionFlow, generateRoadmapCurriculum, generateRoadmapWorkflow, generateSelfLabFlow, generateSelfLabStep, generateSelfPacedBundle, generateSingleArtifact, generateSingleArtifactWorkflow, generateSlidesFlow, generateSlidesStep, generateTeacherGuideFlow, generateTeacherGuideStep, generateWorksheetFlow, generateWorksheetStep, getAIModel, getArtifactMetadata, getDesignatedFallbackChain, getDesignatedFallbackConfig, getLessonMetadata, getProjectArtifactScope, getProjectStatusReport, getSlideLayoutPresetById, getSlideLayoutPresetsByCategory, getSmartResumeContext, glossaryTermsForSession, illustratorTools, importRoadmapToProject, ingestProjectGraphIntoProject, initializeProjectInStorage, injectMediaIntoMarkdown, isExpositionFresh, isModelAllowed, isProviderEnabled, isTranslationDue, judgeMasterLessonStep, judgeSatelliteStep, lessonApprovalHook, lintAndSanitizeArtifact, lintCurriculumFramework, lintFrameworkPack, loadCurriculumTemplate, loadSotTemplate, normalizePlanningGraph, packagerTools, parseGateSettings, parseQuizMarkdown, parseRoadmapJsonToProjectPayload, produceBatchLessons, produceSingleLesson, publishToGitHub, publishToGitStep, publishToSupabase, publishToSupabaseStep, rankGenCandidates, renderFrameworkFromPlan, renderMediaPlaceholder, repairMasterLessonStep, researcherTools, resolveGateSettings, resolveStandardsPacks, resolveTranslationTargets, reviewerTools, runCurriculumAIInference, safeParseJson, saveMilestoneToWorkspaceStep, searchEducationalImages, searchEducationalVideos, selectStatementsForLesson, serializeActivityToMarkdown, serializeCodeLabToMarkdown, serializeDiagnosticQuizToMarkdown, serializeHandoutToMarkdown, serializeLessonToMarkdown, serializeProjectInstructionToMarkdown, serializeSelfLabToMarkdown, slugifyProjectName, streamCurriculumAIInference, streamCurriculumAIInferenceWithTools, streamDiagnosticQuizFlow, streamLLMWithFallback, streamLayerPrefillWithFallback, streamLessonMasterFlow, streamSelfLabFlow, techSmeTools, topoSort, uploadAssetToBucket, validateCurriculumPlan, validateFrameworkPack, validateMarkdownTables, validateMermaidSyntax, withAutoRepair, withRateLimitBackoff };
|
|
15271
16946
|
//# sourceMappingURL=index.mjs.map
|
|
15272
16947
|
//# sourceMappingURL=index.mjs.map
|