Files
Learn_System/plans/ct-math/TOPICS_SEED.md
T
Maxim Dolgolyov 055a6cd1a4 docs(ct-math): пивот плана на существующий банк questions (1753 задания ЦЭ/ЦТ)
Контент ЦЭ/ЦТ по математике уже в БД (questions, subject_id=3, 1753 задания
2011–2025, seed_math_ct*.js) — курс строим на нём через tests/assignments
(готовый mode='ct') и courses, а не через exam-prep/exam_tasks.

- plans/ct-math/BUILD_ON_QUESTIONS.md — новый основной тех-документ: схема
  questions/topics/tests/assignments, режимы ct/topic, таксономия и её доведение,
  каркас курса, диагностика из реальных вопросов, прогресс, порядок работ
- примечания-пивот в PLAN (§6/§8), TOPICS_SEED, DIGITIZATION_SPEC (помечены
  вторичными: exam-prep — опция, оцифровка уже сделана), пилотах, README
- difficulty приведён к шкале банка 1–3

Миграция 077 оставлена как опция exam-prep, в БД не применяется.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 21:56:33 +03:00

12 KiB
Raw Blame History

Seed: трек ctmath и дерево тем exam_topics

⚠️ ВТОРИЧНО (опция exam-prep). Это seed для подсистемы exam-prep (миграция 077, оставлена как опция). Основной путь — банк questions, см. BUILD_ON_QUESTIONS.md. Этот документ полезен, если в будущем решим использовать exam-prep (варианты/пробники/детектор слабых тем). Реальные slug-и учебников отсюда переиспользуются и для ссылок из уроков.

Готовый к переносу в SQL-миграцию seed дерева тем для курса ЦЭ/ЦТ по математике. Соответствует реальной схеме платформы (см. 022_exam_prep.sql, 024_exam_topics_seed.sql, 028_exam_topic_textbook_links.sql). Двухуровневая иерархия: раздел (parent_slug=NULL) → подтема (parent_slug = slug раздела). Slug — kebab-case. Соглашение из существующего math9: раздел sort 10/20/30…, подтемы внутри 11,12,13…

⚠️ textbook_paragraph намеренно оставлен NULL почти везде (точные номера § уточняются при маппинге контента — не выдумываем). textbook_slug проставлен реальными slug-ами учебников платформы (главы/хабы).


1. Трек exam_tracks

INSERT INTO exam_tracks (
  exam_key, title, subject_slug, grade, duration_min,
  tasks_per_variant, variants_count, scoring_json, intro_html, enabled, sort_order
) VALUES (
  'ctmath',
  'ЦЭ/ЦТ — Математика',
  'math',
  11,
  180,
  30,
  0,                 -- variants_count: проставить по числу оцифрованных вариантов
  '<scoring_json>',  -- см. §4 ниже
  '<intro_html>',    -- см. §5 ниже
  1,
  20
);

2. Разделы (sections, parent_slug = NULL)

slug title description sort textbook_slug
numbers Числа и вычисления Действительные числа, делимость, проценты, преобразование числовых выражений 10 math-6
expressions Алгебраические преобразования Многочлены, степени и корни, рациональные дроби, ОДЗ 20 algebra-7
equations Уравнения и неравенства Линейные, квадратные, рациональные, модуль, иррациональные, показательные, логарифмические; метод рационализации 30 algebra-9
functions Функции и производная Свойства функций, графики, исследование с производной 40 algebra-9-ch2
trigonometry Тригонометрия Круг, тождества, уравнения и отбор корней 50 algebra-10-ch1
word-sequences Прогрессии и текстовые задачи Арифметическая/геометрическая прогрессии; проценты, движение, работа, смеси 60 algebra-9-ch4
planimetry Планиметрия Треугольники, четырёхугольники, окружность; координатный метод 70 geometry-8
stereometry Стереометрия Расположение, многогранники, тела вращения, углы и расстояния 80 geometry-10
advanced Продвинутое и комбинированное Параметры, комбинированные задачи, функциональные методы 90 NULL

3. Подтемы (модули M1–M32, parent_slug = раздел)

Колонка «Позиции» — номера заданий теста (из карты §1.2 PLAN.md), помогает классификатору и приоритизации.

slug parent title sort позиции textbook_slug
num-real numbers Действительные числа, координатная прямая 11 А1, А4 math-6
num-divisibility numbers Делимость, дроби, НОД/НОК 12 А4, В3, В12 math-5-ch1
num-expressions numbers Преобразование числовых выражений 13 сквозное algebra-7-ch2
expr-polynomials expressions Многочлены, ФСУ, разложение на множители 21 сквозное algebra-7-ch2
expr-powers-roots expressions Степени и корни, ОДЗ выражений 22 А10 algebra-10-ch2
expr-fractions expressions Рациональные (алгебраические) дроби 23 algebra-9-ch1
eq-linear equations Линейные уравнения/неравенства, системы 31 А6, В8 algebra-7-ch3
eq-quadratic equations Квадратные уравнения/неравенства, Виет 32 А5 algebra-8
eq-rational equations Рациональные уравнения/неравенства, метод интервалов 33 В-уровень algebra-9-ch3
eq-modulus equations Уравнения и неравенства с модулем 34 algebra-9
eq-irrational equations Иррациональные уравнения/неравенства 35 В18 algebra-10-ch2
eq-exponential equations Показательные уравнения/неравенства 36 В14 algebra-11-ch2
eq-logarithmic equations Логарифмические уравнения/неравенства 37 В11, В16 algebra-11-ch3
eq-rationalization equations Метод рационализации (замена множителей) 38 В16, В14 algebra-11
fn-properties functions Свойства функций: ОДЗ, чётность, монотонность 41 А10, В2, В9 algebra-9-ch2
fn-graphs functions Графики и их преобразования, чтение графиков 42 В2, В9 algebra-9-ch2
fn-derivative functions Производная: монотонность, экстремумы, исследование 43 В19 algebra-10-ch3
trig-circle trigonometry Тригонометрический круг, значения, простейшие ур-ия 51 А3 algebra-10-ch1
trig-identities trigonometry Тождества и формулы (вывод), обратные функции 52 А8, В4 algebra-10-ch1
trig-equations trigonometry Триг. уравнения, отбор корней на промежутке 53 В15 algebra-10-ch1
seq-progressions word-sequences Арифметическая и геометрическая прогрессии 61 В3, В6 algebra-9-ch4
word-problems word-sequences Текстовые: проценты, движение, работа, смеси 62 А7, В7 math-6-ch2
plan-triangles planimetry Треугольники, площади, теоремы синусов/косинусов, окружности 71 В5 geometry-8
plan-quadrilaterals planimetry Четырёхугольники и правильные многоугольники 72 В10 geometry-8-ch1
plan-circle planimetry Окружность: углы, касательные; координатный метод 73 В5, В10 geometry-8-ch4
ster-basics stereometry Расположение прямых/плоскостей, сечения 81 А2, В1 geometry-10
ster-polyhedra stereometry Многогранники: объёмы, площади, сечения, подобие 82 В13, В17 geometry-10
ster-rotation stereometry Тела вращения: цилиндр, конус, шар/сфера 83 А9, В13 geometry-11
ster-angles-distances stereometry Углы и расстояния; координатно-векторный метод 84 В20, В1 geometry-11
adv-parameters advanced Задачи с параметрами 91 NULL
adv-combined advanced Комбинированные задачи, нестандартные приёмы 92 NULL
adv-functional advanced Функциональные методы, целые числа (бонус) 93 NULL

4. scoring_json (шкала балла)

⚠️ Платформенный scoring_json отображает число верных → балл. Реальный ЦЭ/ЦТ: первичный балл (часть В весит больше) → 100 тестовых по официальной таблице РИКЗ. Здесь — иллюстративный placeholder на 100-балльную шкалу; заменить на официальную таблицу года, в идеале — учитывая вес В-заданий ≈ 2× А в первичном.

[
  {"correct":30,"score":100},{"correct":28,"score":92},{"correct":26,"score":85},
  {"correct":24,"score":78},{"correct":22,"score":71},{"correct":20,"score":64},
  {"correct":18,"score":57},{"correct":16,"score":50},{"correct":14,"score":43},
  {"correct":12,"score":36},{"correct":10,"score":30},{"correct":8,"score":24},
  {"correct":6,"score":17},{"correct":4,"score":11},{"correct":2,"score":5},
  {"correct":0,"score":0}
]

Точнее: ввести веса (primary = Σ(A:1) + Σ(B:2) → max 10+40=50 первичных), затем official primary→test grid. Если будете расширять модель — это правка exam_tracks.scoring_json + логики подсчёта в exam-prep.js (отдельная задача, не для seed).


5. intro_html (вступление трека)

Готовый текст для exam_tracks.intro_html (карта теста + что внутри):

<p><b>Подготовка к ЦЭ/ЦТ по математике.</b> Формат: часть А — 10 заданий с выбором ответа (А1–А10),
часть В — 20 заданий с открытым ответом (В1–В20), всего 30 заданий, ~180 минут, без калькулятора.</p>
<p>Курс устроен по темам с входной диагностикой и тремя уровнями сложности (База / Ядро / Продвинутый):
теория с выводом формул, разбор эталонных задач, тренажёр по темам, карточки формул с интервальным
повторением и пробные экзамены с таймером на реальных вариантах РТ/ЦТ прошлых лет.</p>

6. Заметки по переносу в миграцию

  • Файл: новая миграция backend/src/db/migrations/0XX_ctmath_track_topics.sql (номер — следующий свободный; в репозитории миграции до 076+, проверить актуальный максимум перед созданием).
  • Порядок: INSERT exam_tracksINSERT exam_topics (сначала разделы, потом подтемы — FK на parent нет, но для читаемости) → UPDATE … SET textbook_slug по таблицам §2–§3.
  • content_access: после создания трека открыть его классам/ученикам (content_type='exam', content_ref='ctmath').
  • Совместимость: exam_key='ctmath' уникален, существующие треки (math9 и др.) не затрагиваются.