Перейти к основному содержимому

Модель

Зачем нужно

Документ описывает каноническую модель задачи, её версий, решений, попыток и evidence.

Кто использует

  • education;
  • task-bank team;
  • LMS;
  • competitions;
  • analytics.

Правила

Task bank должен разделять:

  • каноническую задачу;
  • её содержание и версии;
  • таксономию и классификацию;
  • публичную пригодность и projection;
  • контексты использования;
  • шаблоны активностей и программ поверх задач;
  • попытки ученика, проверки и evidence.

Данные

Основные сущности

Задача

Кодовое имя: problem

Каноническая учебная задача как атомарная единица.

Задача может использоваться в:

  • олимпиадах;
  • уроках LMS;
  • домашних заданиях;
  • live-занятиях;
  • диагностике;
  • подборках и тематических наборах;
  • activity templates;
  • program templates;
  • публичном каталоге.

Задача subject-aware. Исторически Миролимп опирается на олимпиадную математику, но целевая модель должна поддерживать физику и будущие предметы через subject-specific taxonomy, source hierarchy, answer schema and checking.

Не путать с:

  • темой дорожной карты;
  • уроком;
  • домашним заданием целиком.

Версия задачи

Кодовое имя: problem_version

Версия содержимого задачи. Нужна потому, что у задачи могут меняться:

  • формулировка;
  • изображения;
  • ограничения;
  • разбор;
  • метаданные;
  • варианты ответа.

Версионность позволяет не ломать historical attempts и сохранять соответствие тому условию, которое ученик видел в конкретный момент.

Формулировка задачи

Кодовое имя: problem_statement

Текст и материалы условия задачи:

  • основной текст;
  • изображения;
  • вложения;
  • формат ответа;
  • технические параметры отображения.

Решение задачи

Кодовое имя: problem_solution

Каноническое решение, разбор или образец ответа.

Может включать:

  • краткий ответ;
  • полное решение;
  • разбор по шагам;
  • педагогические комментарии;
  • рубрику проверки.

Подсказка

Кодовое имя: problem_hint

Отдельная помощь ученику при решении:

  • одна или несколько подсказок;
  • уровни подсказок;
  • частичные наводки.

Подборка задач

Кодовое имя: problem_set

Логический набор задач, который может использоваться в разных сценариях:

  • домашнее задание;
  • листок к занятию;
  • диагностический набор;
  • олимпиада;
  • тренировочный блок курса.

problem_set не должен подменять activity_template, если требуется структура занятия, roles, sections, teacher notes, time plan или visibility policies.

Профиль публикации

Кодовое имя: problem_publication_profile

Профиль публичной пригодности задачи:

  • public status;
  • canonical public URL /tasks/<taskId>;
  • primary topic для breadcrumbs and SEO;
  • source license/status;
  • public solution policy;
  • SEO overrides;
  • quality score.

Публичная projection не раскрывает hidden answer key, teacher notes, moderation notes, closed competition tasks и embargoed sources.

Использование задачи

Кодовое имя: problem_usage

Явная связь между задачей и контекстом, в котором она используется.

Типовые контексты использования:

  • lesson_block
  • homework
  • session
  • olympiad
  • diagnostic_session
  • problem_set

Именно эта сущность отвечает на вопрос: где именно задача была показана ученику.

Low-level попытка проверки задачи

Кодовое имя: problem_attempt

Один low-level artifact проверки конкретной задачи. Он не заменяет LMS activity attempt, training attempt или competition submission/result.

Свойства:

  • субъект;
  • задача;
  • версия задачи;
  • контекст использования;
  • дата и время;
  • статус попытки;
  • ответ ученика;
  • способ проверки;
  • источник данных.

Проверка ответа

Кодовое имя: answer_check

Нормализованное итоговое состояние проверки попытки:

  • правильно / неправильно / частично;
  • баллы;
  • уровень самостоятельности;
  • использованы ли подсказки;
  • teacher feedback;
  • признак засчитано / не засчитано.

Evidence по задаче

Кодовое имя: problem_evidence

Нормализованный signal, который домен может отдавать наружу:

  • ученик сталкивался с задачами этого типа;
  • успешно решил задачу данного уровня;
  • справляется только с подсказкой;
  • испытывает устойчивые трудности.

Это не recommendation и не mastery-вывод, а низкоуровневое evidence.

Минимальная модель связей

  • problem имеет одну или несколько problem_version.
  • problem_version содержит problem_statement, problem_solution, problem_hint.
  • problem_set содержит список problem или problem_usage.
  • activity_template содержит structured items со ссылками на problem versions.
  • program_template содержит последовательность activity templates.
  • problem_usage связывает problem с внешним контекстом.
  • problem_attempt относится к problem и, при наличии, к problem_usage.
  • answer_check относится к problem_attempt.
  • problem_evidence агрегируется поверх problem_attempt и answer_check.

Что важно не смешивать

  • problemroadmap_topic
  • problem_sethomework
  • activity_templatelesson_instance
  • program_templatecourse_instance
  • problem_usageproblem_attempt
  • answer_checkgoal_evidence
  • problem_evidencetopic_completion
  • public catalog projection ≠ отдельная база задач

Готовность

  • задача имеет каноническую запись и стабильный идентификатор;
  • версии условия и варианты не смешиваются;
  • задача не принадлежит курсу, уроку или олимпиаде;
  • задача subject-aware и готова к математике, физике и будущим предметам;
  • public profile отделён от editorial status;
  • попытки и результаты вынесены в домены использования;
  • rich-content и медиа хранятся так, чтобы условие можно было воспроизвести.