---
url: https://docs.nemo12.com/reference/course-design-standard/foundations.md
description: >-
  Số lượng, mỗi tầng mang gì, nguồn ngữ liệu, chất lượng câu chữ, định nghĩa
  xong, outcomes, trang đọc và một câu hỏi mỗi tầng.
---

# Chuẩn Course · CD-1 tới CD-7, CD-11, CD-16 và trace

Một phần của [Chuẩn thiết kế Course · Unit · Lesson (SRC-609)](./index.md). Số lượng, mỗi tầng mang gì, nguồn ngữ liệu, chất lượng câu chữ, định nghĩa xong, outcomes, trang đọc và một câu hỏi mỗi tầng.

## CD-1 · Số lượng

| Tầng | Chỉ tiêu |
|---|---|
| Ladder / môn | 1 tới 4, mỗi ladder một mạch (Toán: arithmetic · algebra · geometry · data; Văn: core) |
| Level / ladder | **đúng 5**, level thay khái niệm lớp; xếp lớp bằng bài đo, không bằng tuổi |
| Course / level | **1 tới 3** |
| Unit / course | **3 tới 5** |
| Lesson / unit | **3 tới 5** (chuẩn là 5); AI Teen theo khuôn course: AI Teen 1 sáu, AI Teen 2-3 bốn (CD-8d mục 5) |
| Câu hỏi / lesson | **16** = 10 cho luyện tập + 6 để dành cho bài đo (SDD-010 §12b) |

## CD-2 · Mỗi tầng mang gì

| Tầng | Bắt buộc | Số |
|---|---|---|
| Course | tên nói được với phụ huynh + danh sách nguồn (CD-3) | ≥1 nguồn mỗi loại hoặc ✍️ |
| Unit | **1 Compelling Question** + **1 Big Idea** + **1 Essential Question** + **3-5 key concepts** + **2 ngữ liệu** + **2-3 khung tư duy** (framework / model / formula / principle) + **2-4 Unit Outcomes** + **đúng 1 Performance Task** (CD-6) | đúng như ghi |
| Lesson | **1 Guiding Question** + **1-2 concepts** (lấy từ key concepts của unit) + **1-2 Lesson Outcomes** + **1-3 học liệu đầu bài kèm reflection** (CD-7) + **2-4 câu kiểm cuối bài** | đúng như ghi |

## CD-3 · Nguồn ngữ liệu và luật ô trống

Mỗi course khai nguồn trong `curriculum_course_sources` theo `kind`:

* `gdpt` — mã chủ đề trong [bảng chuẩn phủ](../../quality/coverage/math.md). **Bất biến phủ trọn:**
  hợp của mọi course trong một môn = đúng tập chủ đề GDPT của môn, mỗi chủ đề thuộc **đúng một**
  course (Toán: 82/82, đo 2026-08-27).
* `b21` — unit của cây năng lực Pearl (Building 21).
* `aops` — unit của bộ AoPS (`curriculum/aops/`, lớp 4-12).
* `material` — văn bản/ngữ liệu (môn Văn; ưu tiên lấy từ danh mục 20 tác phẩm).
* `competency` — năng lực đích, tên lấy đúng từ cây năng lực Pearl của môn; **≥3 mỗi course**.
* `note` — **ô trống có chủ**: nguồn không phủ được thì khai ✍️ kèm lý do (AoPS không có bậc 1,
  chủ đề chuyên ngoài GDPT…). Ô trống im lặng không phân biệt được với ô bị bỏ quên — luật S10.

## CD-4 · Chất lượng câu chữ

1. **Big Idea là câu khẳng định** về bản chất, không phải danh sách chủ đề. Đọc xong phải trả lời
   được "unit này nhìn thế giới bằng con mắt nào".
2. **Essential Question là câu hỏi mở**: không trả lời được bằng một từ, không trả lời xong trong
   một lesson, và **không nhắc tên thuật ngữ** mà unit sẽ dạy ("Vì sao nói ít lại khiến người đọc
   nhớ lâu hơn nói đủ?" — không phải "Ẩn dụ là gì?"). Đối chiếu với **TÊN UNIT** (kỹ thuật đang
   dạy), KHÔNG đối chiếu với mọi key concept: key concept hay là từ thường ngày ("mức độ", "thái
   độ") nên soi kiểu đó sẽ đánh trượt oan những EQ viết đúng.
3. **Guiding Question trả lời được trong đúng một lesson**, và câu trả lời là hành vi đo được.
   Dùng lại cột `objective_vi` ở tầng node — đó chính là chỗ nó hiện lên màn làm bài.
4. **Key concept là danh từ/cụm danh từ**, dùng lại được ở unit khác; concept của lesson phải nằm
   trong key concepts của unit.
5. **Khung tư duy để ở tầng unit nhưng viết để dùng lại xuyên môn** (Tenor·Vehicle·Ground, trục
   tương đồng và gần kề…); trùng tên với khung đã có thì trỏ về, không chép lại.
6. **Ngữ liệu là tác phẩm/bộ bài toán cụ thể có thật**, không phải tên thể loại suông; môn Văn ưu
   tiên danh mục 20 tác phẩm đã chốt lý do chọn.
7. Mỗi lesson đủ **6 phần** khi lên Pearl (chuẩn S5) và **4 hiểu lầm gắn vào phương án nhiễu**
   (SDD-003 — nhiễu phải là nhầm lẫn có thật).
8. **Compelling Question (SRC-1250) là câu hỏi mở cửa của Unit**, tầng 1 của Inquiry Frame (bên dưới).
   Đúng 1 mỗi Unit, đứng cạnh Essential Question chứ không thay nó. Phải: gắn với đời learner,
   **tranh luận được** (có hai lập trường đáng bảo vệ), nói bằng tiếng đời thường, không chứa tên
   thuật ngữ sắp dạy (đối chiếu với TÊN UNIT như CD-4.2), gọn dưới khoảng 15 từ. Performance Task
   phải trả lời được nó.

### Inquiry Frame (SRC-1250)

**Inquiry Frame là khung câu hỏi của một Unit**: bốn tầng, tầng dưới trả lời một phần của tầng trên.
Compelling Question (1 / unit, khiến learner muốn học) → Essential Question (1 / unit, khái niệm cốt
lõi cần hiểu) → Guiding Question (1 / lesson, trả lời được trong một bài, CD-4.3) → Performance Task
(1 / unit, câu trả lời có bằng chứng cho Compelling Question). Mỗi Guiding Question phải phục vụ
Essential Question; bài nào không nối về được thì thừa hoặc unit thiếu một câu hỏi. Mô tả có ví dụ:
[reef.nemo12.com](https://reef.nemo12.com/inquiry-frame).

## CD-5 · Định nghĩa "xong" và trạng thái

* Course seed vào bảng ở `status='draft'`; nâng `live` khi **mọi lesson có ≥16 câu published** và
  đủ học liệu + Formative Task theo CD-7/CD-8.
* **Xong một course = bằng chứng, không phải đi hết**: mọi competency khai ở CD-3 có ≥1 lesson
  đạt "vững", KHÔNG phải đã mở hết lesson. Cấm định nghĩa xong bằng số bài đã đi qua (REQ-GAM-04,
  tránh học vì thưởng — lý do REQ-GAM-01 bị hoãn).
* Level không khoá theo tuổi; khoá duy nhất là điều kiện hoàn thành Unit (CD-6.4); giữa các ladder learner
  đứng ở level khác nhau được (hồ sơ gồ ghề là chuyện thường — engine vá bằng `repair`/`foundation`).

## CD-6 · Outcomes và Performance Task (SRC-610)

Vòng phải khép: **outcome → task → tiêu chí chấm**, mỗi mũi tên tra ngược được.

1. **Unit Outcome viết ở ngôi thứ nhất, mức LÀM ĐƯỢC**: "Tôi có thể…" + động từ hành vi quan sát
   được (viết, chỉ ra, phân biệt, tự chú thích…). "Học sinh nắm được…" mô tả việc dạy, không phải
   việc học — cấm.
2. **Lesson Outcome mức HIỂU, cố ý dễ hơn Unit Outcome**: "Tôi hiểu / tôi nhận ra / tôi gọi tên
   được \[concept]…". Mỗi outcome nhắc đúng concepts mà lesson khai.
3. **Đúng MỘT Performance Task mỗi unit** — nó là cửa ra: đề bài + **sản phẩm nộp learner biết
   trước khi bắt tay làm** + **3-5 tiêu chí chấm**, mỗi tiêu chí nối về đúng một Unit Outcome
   (tiêu chí chung như trình bày được để trống mối nối).
4. **Hoàn thành = bằng chứng, hai tầng**: vượt một lesson = qua các câu kiểm cuối bài (kind theo
   SDD-022) **và** nộp reflection của học liệu chính; hoàn thành một unit = mọi lesson đã vượt
   **và** Performance Task đã nộp, được duyệt theo tiêu chí.
5. **Performance Task và reflection là sản phẩm mở** — hệ chưa chấm máy được (SDD-022 cố ý hoãn
   chấm văn tự do): bằng chứng ghi ở mức self-report hoặc mentor-review theo SDD-002 §18,
   **không ghi thẳng vào mastery**. Đừng thiết kế PT mà việc "đã hoàn thành" cần máy chấm tự luận.

## CD-7 · Học liệu đầu bài và reflection (SRC-610)

1. Mỗi lesson **1-3 học liệu** để trải nghiệm TRƯỚC khi luyện: video (youtube) · tài liệu (pdf) ·
   **lab tương tác** (trỏ id lab thật trong thư viện Lab) · trang đọc (link).
2. **Cấm bịa URL.** Chưa có nguồn thật đã duyệt thì để trống và khai 🚧 — một link chết hoặc video
   không ai kiểm còn tệ hơn không có học liệu.
3. **Học liệu chính phải kèm một reflection prompt**: một câu hỏi mở, trả lời 2-4 câu, đủ để thấy
   "đã xem và rút ra được gì"; học liệu đọc thêm thì không đòi nộp. Reflection nối về Lesson
   Outcome mà nó phục vụ.
4. Câu kiểm cuối lesson là **Formative Task** — đặc tả đầy đủ ở CD-8.7; số lượng **2-4 câu**, dạng
   máy chấm được (`mcq`/`numeric`/`estimate`/`order_steps`/`find_error`), mỗi câu khai đo outcome nào.

Chỗ lưu: bảng outcome/task/materials/checks ở migration 0085; các bảng spec còn lại (purpose,
progression, misconception map, errors, interventions…) ở migration 0086.

## CD-11 · Trang đọc của tầng Course (SRC-619)

Chuẩn soạn ở trên nói **viết gì**; mục này nói **learner đọc nó ở đâu**. Chỉ đạo 2026-08-27 (kèm
ảnh trang `S1`): trang chi tiết course "cần hiển thị rất rất ít thông tin thôi".

| Trang | URL | Chứa gì |
| --- | --- | --- |
| Chi tiết Course | `/{school}/courses/{subject}/{courseId}` | tên khoá, nút Bắt đầu học, **mỗi Unit một card** — trong card chỉ Big Idea và Essential Question, mỗi mẩu một card nhỏ (SRC-1250: tiêu đề card là Compelling Question, xem dưới) |
| Chi tiết Unit | `…/{courseId}/units/{unitSeq}` | Big Idea, Essential Question, key concepts/ngữ liệu/khung tư duy, Unit Outcomes, danh sách Lesson, Performance Task |
| Chi tiết Lesson | `…/units/{unitSeq}/lessons/{lessonSeq}` | Guiding Question, concepts, Lesson Outcomes, học liệu + reflection, checks |
| Performance Task | `…/units/{unitSeq}/task` | đề, sản phẩm phải nộp, tiêu chí chấm |

Hình dạng trang Course (SRC-630, mẫu chủ dự án gửi là `tokyo.conan.school/courses/…`): tên khoá cỡ
lớn và nút **Bắt đầu học** trên cùng một hàng; các mục tra cứu (học xong làm được gì, khoá dựa trên
nguồn nào) gấp trong accordion; **mỗi Unit một dòng accordion** mang Essential Question, bung ra chỉ
thấy **danh sách bài** và một đường sang trang Unit. Không chép Big Idea / khái niệm / outcome
xuống đây: chúng đã có nguyên trên trang Unit, chép lại là bắt đọc hai lần và đẩy thứ cần bấm xuống
dưới màn hình. **Bắt đầu học** đi thẳng vào trang chi tiết Unit đầu tiên.

**Hiển thị Unit (SRC-1250):** ở mọi chỗ Unit có một dòng tiêu đề, **Compelling Question đứng ở vị trí
tên Unit**, còn tên kỹ thuật xuống làm nhãn nhỏ phía trên ("Unit 2 · tên Unit"). Dòng Unit trên trang
Course lấy Compelling Question làm tiêu đề thay chỗ Essential Question từng chiếm; Essential Question
chuyển xuống dưới tiêu đề trên trang Unit. Unit chưa có Compelling Question hiện tên Unit như cũ,
không tự sinh câu để lấp chỗ. Dữ liệu: cột `curriculum_units.compelling_question_vi/_en` (migration 0332), sửa trong Coral; đã áp ở trang Course/Unit của learn, 15 khoá bố mẹ của Marlins (54 unit) và AI Teen (18 unit, `compellingQuestion` trong `apps/learn/src/aiTeen`). Các câu của khoá bố mẹ và AI Teen là bản nháp chờ chủ dự án duyệt.

Trang Lesson chia **chặng bằng tab** (Định hướng · Học và ngẫm · Tự kiểm); chặng nào không có dữ
liệu thì không dựng tab, và bài chỉ còn một chặng thì bỏ hẳn hàng tab.

Ba trang sâu (Unit · Lesson · Task) dùng **một UI duy nhất**: không header, không footer, không cột
trái — chỉ một thanh trên cùng với lối về khoá, **một dropdown** đi tới mọi Unit/Lesson/Task của
khoá, và công tắc ngôn ngữ. Cùng lý do màn làm bài đã ẩn header từ SRC-082: mọi lối bấm đi chỗ khác
đều là lời mời bỏ dở.

Đánh địa chỉ bằng **seq** chứ không bằng id nội bộ — seq là thứ learner đọc thấy trên màn hình, còn
id (`math-algebra-a8-u2-l3`) chỉ lặp lại course id một lần nữa trên URL.

**Nhãn theo ngôn ngữ đang bật**: Big Idea · Essential Question · Key Concepts… bật EN thì nhãn phải
là tiếng Anh (catalog trong `apps/learn/src/lang.tsx`, bảng nhãn dùng chung ở `curriculumLabels.ts`).
Nội dung học liệu vẫn tiếng Việt vì schema tầng này mới có cột `_vi`.

## CD-16 · Đúng một câu hỏi mỗi tầng (SRC-663)

Chỉ đạo chủ dự án 2026-08-31: "Mỗi lesson cần có đúng 1 Guiding Question, và có 1-2 key concepts.
Mỗi Unit cần có đúng 1 Essential Question, và có một vài key concepts."

| Tầng | Câu hỏi | Key concepts |
| --- | --- | --- |
| Unit | đúng 1 Essential Question | vài mục (`curriculum_unit_concepts`, CD-14) |
| Lesson | đúng 1 Guiding Question | 1-2 mục (`curriculum_lesson_concepts`, migration 0187) |

**Bản chính thức nằm ở CỘT ĐƠN** — `curriculum_units.essential_question_vi` và
`curriculum_lessons.guiding_question_vi` — vì một cột thì theo cấu trúc không thể chứa nhiều hơn một
câu. Bảng nhiều câu (`curriculum_unit_questions`, `curriculum_lesson_questions`, migration 0181)
**giữ nguyên và không xoá**: đó là bộ câu hỏi chủ dự án viết lúc thiết kế, tức là NGUỒN. Trang không
vẽ nguồn ra: bốn hướng nhìn cùng lúc là không hướng nào.

Chặng `lesson-focus` gộp bộ câu hỏi thiết kế của một bài thành đúng một câu và rút 1-2 key concept
từ chính bộ ấy, không thêm chủ đề mới.

## Trace

SRC-609 → bảng `curriculum_*` (migration 0084); SRC-610 → CD-6/CD-7; SRC-613 → CD-8 (đặc tả Lesson);
SRC-614 → CD-9 (đặc tả Unit); SRC-615 → CD-10 (đặc tả Course); SRC-619 → CD-11 (trang đọc
của tầng Course trên learn); SRC-630 → CD-11 (hình dạng trang Course và trang Lesson);
SRC-631 → CD-12 (bốn chặng của một Lesson; Story ở migration 0162, nội dung ở 0163);
SRC-654 → CD-12 (tên và số của bốn chặng, nút hoàn thành ở migration 0180, quiz mở đầu dựng bằng máy);
SRC-658 → CD-13 (mạch 12 course IELTS; song ngữ ở migration 0181, nội dung ở 0182);
SRC-659 → CD-14 (Key Concepts + Skills của Unit, bộ ví dụ của Lesson, bốn competency ELA; migration 0183);
SRC-660 → CD-15 (Key Takeaways ở migration 0185, chặng lesson-outcomes và chuỗi phụ thuộc giữa các chặng);
SRC-663 → CD-16 (đúng một câu hỏi mỗi tầng; key concept của Lesson ở migration 0187);
SRC-665 → CD-15 (chiều dịch Việt sang Anh cho nội dung xưởng sinh);
SRC-783 → CD-17 (cụm bài đọc của tầng luyện đọc IELTS; dữ liệu JSON trong `apps/learn/src/ielts/data/reading/`);
SRC-784 → CD-17b (lĩnh vực của learner và kho từ họ từ; cổng `scripts/audit-ielts-content.mjs`);
SRC-785 → CD-17c (đánh dấu vàng và 20 từ có sẵn nghĩa mỗi bài);
SRC-786 → CD-17d (bài đọc hai cột, đúng một câu hỏi mỗi lúc, thanh 30 ô);
SRC-787 → CD-17e (đọc bài thành tiếng qua AI Gateway; nội dung dời về `content/ielts-reading/`);
SRC-789 → CD-17f (tầng luyện nghe trong ielts, cùng danh mục lĩnh vực với bài đọc);
SRC-794 → CD-17g (bài khởi động 3-5 câu, đúng 3 câu hỏi, loại nội dung riêng ở `content/ielts-warmup/`);
SRC-1265 → CD-8b (cổng đọc: phần ngắn, ba câu sau mỗi phần; câu ở `apps/marlins/src/parentLessonGates/`, D1 ở migration 0335).
SRC-1269 → CD-8d (tag Learning Cycle: chặng vòng ngoài cho lesson, pha vòng trong cho activity; AI Teen ở `apps/learn/src/aiTeen/cycle.ts`).
SRC-1275 → CD-8d mục 5-6 (một lesson mỗi chặng vòng ngoài, bốn lesson mỗi unit AI Teen; số lưu `slot` giữ tiến độ khi đổi thứ tự lesson).
SRC-1279 → CD-8c, CD-8d mục 2-3 (ba activity của lesson AI Teen mang tên pha bằng tiếng Việt: Bắt đầu, Tìm hiểu, Đúc kết; bỏ tag tiếng Anh vòng trong trên giao diện lesson).
SRC-1281 → CD-1, CD-8d mục 2 và 5, CD-8f (khuôn lesson theo course; AI Teen 1 sáu lesson mỗi unit \[MM, Inv, Inv, Create, Create, S\&R] và năm activity mỗi lesson, Kiểm tra là quiz chẩn đoán theo concept).
SRC-1287 → CD-8f mục 1 (mọi phần đọc AI Teen có `step`, tên bước 1-3 chữ cho thẻ trái của trang lesson).
SRC-1294 → CD-8c mục 6 (cổng đọc AI Teen không chặn đường đi: mọi phần mở, cổng chỉ quyết định "xong").
Schema + API + trang Courses thuộc bó SRC-611. Cột lưu Common Errors và bảng intervention theo
lesson: chưa có chỗ trong schema — **chưa dựng**, bổ sung sau khi bó SRC-611 vào main. → skill `/course-design` → chỉ tiêu gom về
[CS-10](../../quality/content-standards.md).

**CD-8 có bản thi hành MÁY** (SRC-632/SRC-633): `workers/foundry/src/lessonSpec.ts` (schema hợp
đồng) + `workers/foundry/src/rubric.ts` (rubric L1-L16, thang ở
[course-audit.md](../../quality/course-audit.md)) — **sửa CD-8 thì hai file này phải sửa theo sau**,
nếu không cái máy sinh sẽ lặng lẽ thi hành chuẩn cũ. Kiểm bằng máy theo cấp: course đã nạp D1 →
`scripts/audit-course.mjs` (SRC-616); lesson-draft máy sinh → rubric foundry (SDD-027 §4); cổng
`check-curriculum-courses` cho toàn tầng vẫn là việc tiếp theo (📋 review theo chuẩn này).
