Learning Platform
Глоссарий Troubleshooting
Урок 01.04 · 8 мин
Начальный
UXQuizCode ChallengeExam

Как устроен курс

Каждый модуль состоит из последовательности уроков, после каждого появляется inline quiz, в M01+ модулях добавляются code challenges, а в конце модуля — exam. Этот урок объясняет каждую механику, чтобы вы не тратили время на разгадывание интерфейса.


Один урок

Урок — это страница MDX. Структура: prose + диаграммы (composed из примитивов <DataBox> / <FlowRow> / <Grid>) + callouts (note / tip / warning / danger) + occasional code blocks с подсветкой синтаксиса. В конце страницы автоматически рендерится секция inline quiz — её НЕ надо специально вызывать в MDX, layout сам её показывает по факту наличия parallel JSON-файла.

Длина урока — 8–30 минут чтения; сложность отмечена в frontmatter (beginner / intermediate / advanced). Beginner и intermediate уроки можно проходить без блокирующих предусловий, advanced опираются на предыдущие модули.


Inline quiz

После каждого урока — 2–4 вопроса, типы: multiple-choice или true-false. Минимум 40% вопросов в каждом quiz — applied или analytical Bloom level (вопросы вида «разберите этот случай» / «что произойдёт если»), остальные — conceptual.

Каждый вопрос имеет пояснение (explanation) на 2–3 предложения, которое появляется после ответа. Порядок вопросов и опций seeded-shuffling — при повторном прохождении quiz вопросы перемешиваются стабильно, но не одинаково с первой попыткой.


Code challenge

Начиная с M01, в большинстве модулей появляется 1–2 code challenge задачи. Вы пишете Python в браузерном editor’е, нажимаете Run для прогона ваших тестов или Submit для финальной проверки против скрытых тестов. Тесты исполняются Pyodide-воркером в browser (не на сервере), и результат возвращается за 1–10 секунд для типичных задач.

Два режима тестирования

Режим 1: stdout-mode. Ваш код печатает результат через print(...), тест сравнивает stdout с ожидаемым выходом по matchMode. Используется для задач вида «выведите…».

Режим 2: function-call-mode. Вы определяете функцию def solve(...) (имя именно solve — это контракт), тест вызывает solve(тестовый_вход) и сверяет return value с expectedOutput. Используется для алгоритмических задач, где stdout не нужен.

Стартовый код в editor’е содержит правильный skeleton для каждого режима — придерживайтесь его (особенно имени функции solve для function-call mode).

Режимы сравнения

Поле matchMode в test case определяет, как сравнивается ваш вывод и ожидаемый:

  • exact — побайтовое равенство. Используется по умолчанию, когда вывод полностью детерминирован
  • contains — ваш вывод должен содержать ожидаемую строку как substring. Применяется когда вывод включает timestamp / UUID / float-precision и нужна частичная проверка
  • not_contains — ваш вывод НЕ должен содержать запрещённую строку (например, FAIL когда учащийся хардкодит ответ)
TIP

Если challenge даёт MISSING test или незнакомую ошибку, посмотрите на условие задачи и hint в комментариях starterCode — там часто прямо указан подход.


Module exam

После всех уроков модуля — exam: 10–15 вопросов, ≥60% applied/analytical Bloom level. PassThreshold по умолчанию 70%. Можно retake без ограничений; вопросы рандомизируются (seeded), порядок options перемешивается.

Каждый вопрос exam’а содержит studyHint — точную отсылку к уроку и разделу, куда вернуться при провале. Это ускоряет повторение: не надо угадывать, какой урок re-read’ить, exam сам говорит.


Прогресс и сертификат

Прогресс по урокам, quizzes и code challenges сохраняется в browser local storage (для anonymous-пользователей) и на сервере (для авторизованных). Завершение всех модулей открывает PDF-сертификат и achievement badges на dashboard.


M00 это free preview

M00 (этот модуль) — без paywall: вы дочитали до сюда без оплаты и без авторизации. Это оригинальный проектный замысел: оценить depth, структуру и тон курса перед покупкой.

Модули M01–M13 требуют one-time payment 500 Telegram Stars. Оплата интегрирована через Telegram Stars API, обрабатывается на стороне Telegram, без банковских карт и подписок. Один раз — навсегда (вы получаете lifetime access ко всем 14 модулям и future-обновлениям курса).

Если оцениваете — пройдите M00 целиком, сделайте module exam, и решайте.



Параллельные курсы

Этот курс — Core Python для Data Engineer’а; для full-stack DE-профиля рядом авторизуются курсы по distributed processing, OLAP, query engines, форматам хранения. Cross-course → Spark 01/01 spark-overview — distributed processing в JVM; PySpark использует Python как driver-language. Cross-course → DataFusion 00/02 what-is-datafusion — Rust embedded query engine; concepts из M05 (генераторы) и M10 (pandas/Polars) напрямую пересекаются с DataFusion’s Arrow streaming model.


Ключевые выводы

  1. Урок → inline quiz → code challenge (с M01) → module exam → certificate
  2. Code challenges имеют два режима: stdout-mode (print → expected) и function-call-mode (def solve(...) → return value сверяется)
  3. M00 — free preview, M01–M13 — paid (500 Telegram Stars one-time)

Проверьте понимание

Результат: 0 из 0
Концептуальный
Вопрос 1 из 5. Сколько вопросов typically содержит module exam?

Закончили урок?

Отметьте его как пройденный, чтобы отслеживать свой прогресс

Войдите чтобы оценить урок

Прогресс модуля
0 из 4