Skip to content

PRD-008 - Program Grammar ​

Nguồn: SRC-1104 (chủ dự án 28.09.2026). Mười câu hỏi xác nhận, chủ dự án chốt "OK hết". Thiết kế: SDD-048. Địa chỉ: learn.nemo12.com/grammar.

1. Là gì ​

Một chương trình riêng để học ngữ pháp tiếng Anh, chia 5 level. Learner tự chọn level và học từng bài. Vòng đầu chỉ dựng tên và vỏ (danh mục + khung trang) để chủ dự án nhìn được tổng quan; nội dung bài làm ở các vòng sau.

2. Mười quyết định ​

#Quyết định
1/grammar là chương trình độc lập, lớn hơn. 36 chủ đề của /ielts/grammar được xếp vào đúng level (đánh dấu ↗ bên dưới) và bài ở /grammar trỏ sang chủ đề ấy; /ielts/grammar giữ nguyên, không mất tiến độ
2Chỉ bám khung chủ đề và thứ tự học của bộ English Grammar in Use (Essential, Intermediate, Advanced). Tên bài, ví dụ, bài tập Nemo tự viết; không chép chữ nào của sách; trang không ghi tên sách, chỉ ghi A1-C1
3Năm level: Starter (A1), Elementary (A2), Intermediate (B1), Upper-intermediate (B2), Advanced (C1)
4Level → Mảng (6 mảng mỗi level) → Bài (3-5 bài mỗi mảng); tổng 103 bài
5Learner tự chọn level, mọi level đều mở. Bài xếp lớp 10 câu để vòng sau
6Ngôn ngữ như sân IELTS: tên level, mảng, bài tiếng Anh; phần Nemo giải thích tiếng Việt
7Bắt đăng nhập như /ielts/**; dùng chung gói Membership và free trial 14 ngày của IELTS
8Giao diện dùng lại khung /ielts: thanh tối, vệt đường dẫn, ô số liệu, danh sách dòng có mũi tên. Thanh ghi NEMO GRAMMAR, chip duy nhất là phút học hôm nay
9Trang bài có năm khung: Video, Rule, 3 Examples, 3 Common mistakes, 5 Practice (level 1-5), vòng này ghi "Coming soon". Dashboard ba ô: phút tuần này, số bài đã xong, level đang học
10Tài liệu: trang này (kèm danh mục) và SDD-048

3. Danh mục ​

Nguồn máy đọc: packages/grammar-catalog/catalog.json. Bảng dưới sinh từ file ấy; đổi danh mục thì sửa JSON rồi sinh lại bảng. ↗ = đã có bài luyện ở /ielts/grammar.

Level 1: Starter (A1, 21 bài) ​

Những khối cơ bản nhất: động từ be, hiện tại đơn, danh từ, đại từ. Đủ để giới thiệu bản thân và nói về cuộc sống hằng ngày.

MảngBài
The verb beI am, you are, he is · Am I? Is she? Are they? · Short answers: Yes, I am · There is and there are ↗
Present simpleI work, she works ↗ · I don't work ↗ · Do you work? ↗ · Adverbs of frequency: always, never ↗
Nouns and articlesa and an · Singular and plural ↗ · the ↗ · this, that, these, those
Pronouns and possessivesI, me, my, mine ↗ · Possessive 's ↗ · Whose is this?
Place and timein, on, at for places ↗ · in, on, at for time ↗ · Prepositions of position
Ability and requestscan and can't ↗ · Can I...? Could you...? · Imperatives: Sit down, Don't talk

Level 2: Elementary (A2, 21 bài) ​

Nói về quá khứ và tương lai, so sánh, và đếm được hay không đếm được.

MảngBài
Present continuousI am working now ↗ · Present simple or continuous? · Verbs we rarely use in -ing
Past simplewas and were · Regular verbs: worked, played ↗ · Irregular verbs: went, saw · Did you...? I didn't...
Future formsgoing to for plans ↗ · will for decisions and predictions · Present continuous for arrangements
QuantityCountable and uncountable ↗ · some and any ↗ · much, many, a lot of ↗ · a few and a little
ComparingComparatives: bigger, more useful ↗ · Superlatives: the biggest ↗ · as ... as · too and enough ↗
Obligation and advicemust and have to ↗ · should and shouldn't ↗ · need to

Level 3: Intermediate (B1, 23 bài) ​

Các thì hoàn thành, câu điều kiện, bị động, và nối ý bằng mệnh đề.

MảngBài
Past and perfectPast continuous ↗ · Present perfect: experience ↗ · Present perfect: for and since · Present perfect or past simple? · Used to
ConditionalsZero conditional · First conditional ↗ · Second conditional · unless and in case
Passive voicePresent and past passive ↗ · Passive with modals · get something done
Verb patternsVerb + -ing ↗ · Verb + to infinitive · Verb + object + infinitive · Prepositions + -ing
Relative clauseswho, which, that ↗ · Leaving out the relative pronoun · where and whose
Adjectives and adverbs-ed and -ing adjectives ↗ · Adjective order ↗ · Adverbs of manner · Adverb position

Level 4: Upper-intermediate (B2, 20 bài) ​

Thì phức hợp, điều kiện loại ba, câu tường thuật, và các từ nối để viết mạch lạc.

MảngBài
Perfect and continuousPresent perfect continuous · Past perfect · Past perfect continuous · Future continuous and future perfect
Advanced conditionalsThird conditional · Mixed conditionals · wish and if only
Reported speechReporting statements ↗ · Reporting questions · Reporting verbs: suggest, warn, admit
Modals of deductionmust, might, can't for now · must have, might have for the past · should have and could have
Linking and contrastalthough, though, even though ↗ · despite and in spite of · Linking words for reasons and results · Joining ideas in one sentence ↗
Agreement and word orderSubject-verb agreement ↗ · Word order in questions and statements ↗ · Indirect questions

Level 5: Advanced (C1, 18 bài) ​

Cấu trúc nhấn mạnh, đảo ngữ, mệnh đề rút gọn, và văn phong trang trọng.

MảngBài
Emphasis and inversionCleft sentences: What I need is... · Inversion after negative adverbs · Fronting for emphasis
Advanced passiveIt is said that... · Passive with reporting verbs · Causative have and get
Participle clausesPresent participle clauses · Past participle clauses · Having done
Hypothetical meaningIt's time, would rather · Inverted conditionals: Had I known · as if and as though
Noun phrasesNominalisation · Compound nouns · Determiners: each, every, either, neither
Formal and informal styleEllipsis and substitution · Hedging: tend to, appear to · Discourse markers in writing

4. Trang giới thiệu trên nemo12.com (SRC-1106) ​

Chủ dự án 28.09.2026: Grammar là chương trình thứ ba để vào đại học, cạnh IELTS và SAT, dùng cho cả thi vào lớp 10, thi tốt nghiệp THPT và IELTS. Trang công khai ở nemo12.com/{students|parents}/university/grammar cùng ba trang con who-is-it-for, levels, how-it-works; nút chính trỏ về learn.nemo12.com/grammar. Luật và danh sách URL: public-web-ia §6.

5. Ngoài phạm vi vòng đầu ​

  • Nội dung từng bài (video, công thức, ví dụ, lỗi hay gặp, 5 bài luyện).
  • Bài xếp lớp 10 câu.
  • Số thật cho ba ô dashboard (tiến độ và phút học ghi vào learning_events).

6. Nội dung level Starter (SRC-1105, 28.09.2026) ​

Cả 21 bài Starter đã có nội dung: đoạn giới thiệu tiếng Việt, công thức, 3 ví dụ, 3 lỗi hay gặp, 5 bài luyện level 1-5 (làm từng câu một, đúng lần đầu được cộng 2 phút học như khu Grammar của IELTS).

  • 12 bài có ↗ dùng lại nguyên nội dung chủ đề tương ứng ở /ielts/grammar và chung tiến độ với nó: một nội dung không có hai bản.
  • 9 bài viết mới: I am, you are, he is · Am I? Is she? Are they? · Short answers · a and an · this, that, these, those · Whose is this? · Prepositions of position · Can I...? Could you...? · Imperatives.
  • Chưa có: video cho 9 bài mới (render tốn tiền nên để chủ dự án quyết); bốn level còn lại vẫn là vỏ.

7. Nội dung level Elementary (SRC-1107, 28.09.2026) ​

Cả 21 bài Elementary đã có nội dung, cùng khuôn với Starter.

  • 11 bài có ↗ dùng lại nội dung chủ đề ở /ielts/grammar, chung tiến độ.
  • 10 bài viết mới: Present simple or continuous? · Verbs we rarely use in -ing · was and were · Irregular verbs · Did you...? I didn't... · will for decisions and predictions · Present continuous for arrangements · a few and a little · as ... as · need to.
  • Chưa có: video cho 10 bài mới.

8. Nội dung level Intermediate (SRC-1111, 28.09.2026) ​

Cả 23 bài Intermediate đã có nội dung, cùng khuôn với Starter và Elementary.

  • 8 bài có ↗ dùng lại nội dung chủ đề ở /ielts/grammar, chung tiến độ.
  • 15 bài viết mới: Present perfect for and since · Present perfect or past simple? · Used to · Zero conditional · Second conditional · unless and in case · Passive with modals · get something done · Verb + to infinitive · Verb + object + infinitive · Prepositions + -ing · Leaving out the relative pronoun · where and whose · Adverbs of manner · Adverb position.
  • Chưa có: video cho 15 bài mới. Hai level còn lại (Upper-intermediate, Advanced) vẫn là vỏ.

9. Nội dung level Upper-intermediate và rà soát bài cũ (SRC-1112, 28.09.2026) ​

Upper-intermediate: cả 20 bài đã có nội dung. 5 bài có ↗ dùng lại chủ đề /ielts/grammar; 15 bài viết mới (các thì hoàn thành tiếp diễn, tương lai tiếp diễn và hoàn thành, điều kiện loại 3 và hỗn hợp, wish, tường thuật câu hỏi, động từ tường thuật, suy đoán hiện tại và quá khứ, should have / could have, despite, từ nối nguyên nhân - kết quả, câu hỏi gián tiếp). Chỉ còn Advanced là vỏ.

Rà soát bài cũ: cổng scripts/audit-content.mjs nay quét cả grammar/content/**: 85 file, cả 85 đạt 100 điểm (đủ giới thiệu, công thức, 3 ví dụ, 3 lỗi, 5 bài level 1-5, đáp án nằm trong lựa chọn). Ba chỗ thiếu đã bù:

  • Tiến độ đứng ở 0/5 sau khi làm xong 5/5 (ảnh chủ dự án 28.09.2026): tiến độ chỉ đọc lại từ localStorage, nên trình duyệt chặn localStorage là bộ đếm không lên. Nay có bản trong bộ nhớ gộp với localStorage.
  • Chip "min today" đứng ở 0: chip chỉ tải một lần lúc mở trang; nay đọc lại sau mỗi bài làm đúng.
  • Video: 36 bài dùng chung với /ielts/grammar nay hiện video 1 phút đã có. Bài viết mới vẫn chưa có video (render tốn tiền, chờ chủ dự án quyết).
  • Trang level hiện tiến độ n/5 cạnh từng bài.

10. Nội dung level Advanced (SRC-1114, 28.09.2026) ​

Cả 18 bài Advanced đã có nội dung, đều viết mới (không có chủ đề tương ứng ở /ielts/grammar): câu chẻ, đảo ngữ sau trạng từ phủ định, fronting, It is said that, bị động với động từ tường thuật, thể sai khiến, mệnh đề phân từ hiện tại và quá khứ, Having done, It's time / would rather, đảo ngữ câu điều kiện, as if, danh từ hóa, danh từ ghép, each / every / either / neither, tỉnh lược và thay thế, hedging, từ nối trong bài viết. Program Grammar nay đủ 103/103 bài; còn thiếu video cho 67 bài viết mới.

11. Video cho 5 bài quan trọng nhất (SRC-1119, 28.09.2026) ​

Chủ dự án: làm video cho 5 bài quan trọng nhất (luật render tiết kiệm SRC-1081: không dựng cả kho). Chọn theo số người học và độ dễ sai, mỗi level đầu ít nhất một bài: I am, you are, he is (Starter) · Did you...? I didn't... (Elementary) · Present perfect or past simple? và Second conditional (Intermediate) · Linking words for reasons and results (Upper-intermediate). Kịch bản cùng khuôn video Grammar cũ (hook, luật, ví dụ, lỗi hay gặp, lời mời luyện); id grammar-<bài>; file nội dung bài ghi video_id để trang bài hiện video. Video xưng NEMO IELTS như 36 video Grammar cũ, vì thương hiệu suy từ tiền tố id và đổi nó là sửa tools/videos/src/, tức đổi vân tay cả kho. 62 bài viết mới còn lại chưa có video.

12. Video Grammar xưng NEMO GRAMMAR (SRC-1126, 29.09.2026) ​

Chủ dự án chọn đổi thương hiệu video Grammar từ NEMO IELTS sang NEMO GRAMMAR. brandOf trong tools/videos/src/Frame.tsx nay đọc tiền tố grammar- thành GRAMMAR, cho cả 41 video Grammar (36 của /ielts/grammar và 5 của Program Grammar). Vì đây là sửa tools/videos/src/, vân tay mọi video đổi; theo luật render tiết kiệm (SRC-1081) chỉ dựng lại 5 video của Program Grammar trong lượt này. 36 video cũ giữ chữ NEMO IELTS cho tới khi chủ dự án chỉ định dựng lại (khoảng 36 × 3 = 108 phút Actions).

13. Giao diện tiếng Anh, căn giữa (SRC-1173, 01.10.2026) ​

Chủ dự án: mọi nhãn và nút trên giao diện learn.nemo12.com/grammar/** là tiếng Anh; nội dung bài (lấy từ kho nội dung: title_vi, intro_vi, lời giải explain_vi, giới thiệu level) giữ nguyên. Điều này thay quyết định 6 cho phần GIAO DIỆN; chữ Nemo giải thích nằm trong nội dung nên vẫn tiếng Việt. /ielts/grammar không đổi: nó thuộc sân luyện IELTS và đi theo luật SRC-953 (nhãn nút tiếng Việt). Cập nhật 10.10.2026 (SRC-1325): /ielts/grammar/** nay cũng tiếng Anh 100%, kể cả hướng dẫn và nhãn nút; nội dung chỉ có tiếng Việt (như title_vi) không hiện ở đó.

Bố cục: mọi trang /grammar là một cột căn giữa, không full-width. Trang bài rộng tối đa 768px, phần đầu (mảng, tên bài, công thức, nút luyện) căn giữa, bốn khung gập căn trái; trang level rộng tối đa 896px.

14. Tiêu chuẩn bài tập: số lượng và chất lượng (SRC-1174, 01.10.2026) ​

Chủ dự án: mỗi bài cần nhiều bài tập hơn, có bài ngắn 3-5 câu, bài khoảng 10 câu, bài dài 20 câu; cần tiêu chuẩn cho từng unit và từng task, cả số lượng lẫn chất lượng, rồi làm dần theo.

Từ dùng trong mục này: lesson là một trang bài (/grammar/<level>/<lesson>); unit là một mảng của level (ví dụ "The verb be"); set là một bài tập gồm nhiều câu; task là một câu hỏi.

14a. Một lesson đạt chuẩn khi ​

SetSố câuVai tròDạng câu
Quick5Năm câu level 1-5 đang có, dễ dầntuỳ
Practice10Luyện đủ các trường hợp của luậtít nhất 2 dạng; ít nhất 4 câu tự gõ (gap)
Mastery20Trộn trường hợp, có câu bẫy từ Common mistakesít nhất 2 dạng; ít nhất 8 câu tự gõ; ít nhất 3 câu dựng từ 3 lỗi trong pitfalls

Tổng 35 câu mỗi lesson, không câu nào trùng prompt trong cùng lesson. Cộng với 3 Examples và 3 Common mistakes đang có.

14b. Một unit đạt chuẩn khi ​

  1. Mọi lesson của unit đạt chuẩn 14a.
  2. Có một Unit review 20 câu trộn các lesson của unit, mỗi lesson ít nhất 3 câu, xếp xen kẽ chứ không theo từng khối. Đây là chỗ learner phải tự nhận ra luật nào áp dụng, việc mà set của từng lesson không đòi hỏi.

14c. Một task đạt chuẩn khi ​

Máy đo được (test gác, xem SDD-048 §6):

  1. Câu choice có 2-4 lựa chọn, không trùng nhau, answer nằm trong options.
  2. Câu gap có answer không rỗng; dạng viết tắt tương đương (isn't / is not) nằm trong accept.
  3. explain_vi dài ít nhất 40 ký tự: nói vì sao đáp án đúng, không chỉ gọi tên luật ("Mẫu as if." là chưa đạt).
  4. prompt tối đa 12 từ ở Starter và Elementary, tối đa 20 từ ở các level trên.

Người soạn tự kiểm (máy không đo được):

  1. Câu kiểm đúng luật của lesson, không kiểm một luật khác.
  2. Chỉ một đáp án đúng; lựa chọn sai là lỗi người học thật hay mắc, không phải lựa chọn vô nghĩa.
  3. Câu tự nhiên, từ vựng đúng level CEFR, ngữ cảnh gần đời sống learner Việt (trường, nhà, bạn bè).
  4. Nemo tự viết, không chép câu của sách nào (quyết định 2).

14d. Làm dần ​

Thứ tự: Starter → Elementary → Intermediate → Upper-intermediate → Advanced, mỗi lượt một level. Mỗi lượt gồm Practice + Mastery cho mọi lesson của level, Unit review cho mọi unit, và nâng 5 câu Quick cũ lên đạt 14c. Tiến độ đo bằng npm run grammar:coverage --workspace @nemo12/learn. Khối lượng cả kho: 103 lesson × 30 câu mới + 30 unit × 20 câu, khoảng 3.700 câu. Lượt đầu cần dựng thêm giao diện chọn set trên trang bài.

Hiện trạng ngày 01.10.2026: 103 lesson, mỗi lesson đúng 5 câu (Quick); 0 lesson và 0 unit đạt chuẩn.

Lượt 1, Starter (01.10.2026): 21/21 lesson và 6/6 unit đạt chuẩn. 750 câu mới (21 × 30 + 6 unit review × 20), 105 câu Quick cũ được viết lại lời giải. 12 lesson dùng chung file với /ielts/grammar, nên lời giải mới của Quick cũng hiện ở đó. Câu tự gõ về mạo từ có gợi ý (a/an) hoặc (a/an/the) ngay trong câu, vì để trống thì "one", "my", "that" cũng đúng mà máy chấm sai.

Lượt 2, Elementary (01.10.2026): 21/21 lesson và 6/6 unit đạt chuẩn, 750 câu mới. Lượt này lộ ra một lỗ của cổng: người soạn lách trần 40 ký tự bằng cách nối một câu chung vào mọi lời giải ngắn ("..., dạng này phải học thuộc.", "Nhớ: many cho thứ đếm được..."). Cổng nay bắt hai dấu hiệu ấy (fillerProblems trong standard.ts): một câu giống hệt lặp ở từ 3 lời giải của một bài, và 4 từ cuối giống nhau ở từ 6 lời giải chiếm ít nhất 40% bài. Khoảng 80 lời giải đã được viết lại; 8 câu có hai đáp án đúng được thêm ngữ cảnh.

Lượt 3, Intermediate (01.10.2026): 23/23 lesson và 6/6 unit đạt chuẩn, 750 câu mới. Cổng câu đệm không bắt được trường hợp nào. Ba câu tự gõ được nhận thêm dạng đúng ngữ pháp ("are going to go", "walked", "won"); một đáp án sai được bỏ (mệnh đề không xác định thiếu dấu phẩy).

15. Học mỗi tuần: tự học, Live thứ Hai, hỏi mentor (SRC-1307, 09.10.2026) ​

Chủ dự án: mỗi tuần learner có một buổi Live qua Zoom và cần làm đủ bài tập. Mỗi learner học theo tốc độ riêng, hệ thống dẫn dần từng bước. Khó thì được hướng dẫn trong buổi Live, hoặc nhắn mentor để được hướng dẫn nhanh. Learner xem được lịch; bấm "tham gia" một buổi thì mới thấy link Zoom. Buổi Live tối thứ Hai 20:00-21:30 (giờ VN), từ thứ Hai gần nhất sau 10.10.2026, tức 12.10.2026. Mọi buổi đều ghi hình; ngoài ra có video quay sẵn và hệ thống luyện tập.

Ba quyết định chủ dự án chốt 09.10.2026:

#Quyết định
1Chat với mentor là nhóm Zalo NEMO GRAMMAR, không dựng chat trong app ở vòng này
2Một link Zoom cố định cho mọi buổi (biến môi trường GRAMMAR_ZOOM_URL)
3Bản ghi là link YouTube không công khai, dán vào buổi sau khi học xong

Nơi hiện: learn.nemo12.com/grammar (thẻ "Live class every Monday", trang /grammar/live, khung "How NEMO GRAMMAR works") và www.nemo12.com/grammar (trang How it works: "Mỗi tuần học thế nào"; hai câu FAQ mới). Nhãn nút trên learn là tiếng Anh theo SRC-1173: nút tham gia ghi "I'm joining". Chủ dự án viết "Tôi tham gia" trong yêu cầu; nếu muốn đúng chữ ấy thì đây là ngoại lệ của SRC-1173 và cần ghi lại.

16. Luyện tập không lộ đáp án (SRC-1308, 09.10.2026) ​

Chủ dự án: đừng trả lời ngay khi learner vừa đưa ra đáp án. Làm đi làm lại 3 lần mới hiện đáp án và giải thích. Kể cả khi learner trả lời đúng, đáp án và giải thích vẫn không hiện mặc định; chỉ hiện khi learner bấm một nút nhỏ. Ẩn bớt mọi thứ trên màn cho gọn, và có thanh tiến độ cho biết đã làm bao nhiêu câu, còn bao nhiêu câu.

Tình huốngMàn hình
Bấm Check, sai lần 1-2"Not yet. Try again (2 tries left)", không có đáp án, không có lời giải; đổi câu trả lời thì Check bật lại
Sai lần thứ 3Hiện đáp án và lời giải, nút Next; câu ấy không được tính là đúng
Đúng"Correct" và nút nhỏ "Show explanation"; bấm mới thấy lời giải
Đang làm một setChỉ còn tên mảng, tên bài, thanh tiến độ "n / N", câu hỏi; dòng phụ dưới tiêu đề ẩn đi
Hết set"Finished: x/N correct", đếm câu đúng thật chứ không đếm câu đã qua

Áp cho cả /ielts/grammar vì hai nơi dùng chung ô luyện; từ SRC-1325 ở đó nhãn tiếng Anh và không hiện lời giải tiếng Việt (explain=false), nên khi lộ đáp án chỉ hiện đáp án.

17. Chuẩn ngữ pháp CEFR và lệch của danh mục (SRC-1318, 10.10.2026) ​

Chủ dự án hỏi mỗi level CEFR gồm ngữ pháp gì, tra cứu ở đâu, và muốn đưa chuẩn vào coral.nemo12.com, rà NEMO GRAMMAR lệch chuẩn thế nào rồi chỉnh cho khớp. Chuẩn, nguồn, bảng lệch và kế hoạch dời bài: Chuẩn ngữ pháp CEFR. Hai quyết định chủ dự án chốt 10.10.2026: Core Inventory là chuẩn chính, dời bài về đúng level; Coral có tab đọc dữ liệu tĩnh (packages/grammar-catalog/cefr-standard.ts). Hiện trạng: 20 bài lệch level, 11 chủ điểm chưa có bài.

18. Gỡ Grammar khỏi sân IELTS (SRC-1337, 11.10.2026) ​

Chủ dự án: loại bỏ Grammar trong IELTS, chỉ còn NEMO GRAMMAR độc lập. Khu /ielts/grammar (36 chủ đề, SRC-1065) đã gỡ: 36 chủ đề ấy vốn là 36 bài của /grammar, nay nội dung chuyển hẳn về apps/learn/src/grammar/content/<level>/ và giữ video cũ. Địa chỉ /ielts/grammar và /ielts/grammar/<chủ đề> chuyển hướng sang /grammar để link đã gửi không gãy. Dòng "Grammar" ở bảng phải /ielts/today và gợi ý "làm một bài ngữ pháp" của hành trình Recovery nay trỏ tới /grammar. Tiến độ 36 bài ấy đổi mã (theo mã chủ đề IELTS sang g-<level>-<bài>), chấp nhận như SRC-1318.