# Курсы и уроки

Всё, что касается содержимого обучения: как собрать курс, чем наполнить урок,
как задать задание и что увидит ученик. Это работающая часть продукта, и здесь
описано именно она.

Правила открытия уроков — отдельная тема и отдельная страница: [Доступы](/guide/access/).

## Три уровня

**Курс → модуль → урок.** На каждом уровне настраивается своё, и путать их
не стоит: настройка не там стоит дорого, потому что находится не сразу.

| Уровень | Что здесь настраивается |
|---|---|
| **Курс** | Последовательное прохождение или свободное. Что считается завершением урока. Как назначается куратор. Выдавать ли сертификат и по какому шаблону |
| **Модуль** | Группировка и порядок уроков |
| **Урок** | Содержимое и правило открытия |

**Последовательное прохождение** включается на курсе одной настройкой: урок
открывается после завершения предыдущего. Расписывать это условиями на каждом
уроке не надо — при двадцати уроках такое перечисление было бы нерабочей
конструкцией.

**Что считается завершением урока** — тоже настройка курса, и вариантов пять:
открыл, досмотрел видео, ответ принят, тест сдан, отметил вручную. От неё зависит
и прогресс, и последовательное прохождение.

## Чем наполняется урок

Урок собирается блоками. Сегодня доступны:

| Блок | Для чего |
|---|---|
| Заголовок | Разбивка длинного урока. Уровни 2–4 |
| Текст | Абзацы с форматированием |
| Изображение | Картинка с подписью |
| Видео | Файл или ссылка — см. ниже |
| Аудио | Файл с названием |
| Файл | Вложение для скачивания |
| Кнопка | Ссылка куда-то ещё |
| Список | Маркированный или нумерованный |
| Цитата | С автором |
| Врезка | Внимание, совет, пример |
| Разделитель | Пауза между смысловыми частями |
| Тест | Вопросы с проверкой |
| Задание | То, на что ученик присылает ответ |

Порядок блоков меняется перетаскиванием, у каждого блока свои настройки в панели
справа.

## Видео: два источника и одна оговорка

**Источник первый — файл.** Загружается в библиотеку школы.

**Источник второй — ссылка.** Вставляется тот адрес, который вы видите в строке
браузера. Понимаются:

- **Kinescope** — `kinescope.io/…`
- **YouTube** — `youtube.com/watch?v=…`, `youtu.be/…`, `/shorts/…`
- **VK Видео** — `vk.com/video…`, `vkvideo.ru/video…`
- **Rutube** — `rutube.ru/video/…`
- **прямой адрес файла** — `…/video.mp4`

Знать, что такое embed-код, не нужно: хостинг опознаётся сам. Неопознанный адрес
даёт понятную ошибку **со списком того, что поддерживается**, а не молчаливый
пустой блок, который автор потом ищет глазами и не находит.

**Оговорка, которая важнее выбора хостинга.** Досмотр видео считается только
по событиям плеера в браузере. Их присылают **Kinescope и YouTube**. **VK Видео
и Rutube — не присылают.**

Практическое следствие: на видео с VK или Rutube условие «урок откроется после
досмотра» **не выполнится никогда**, и настройка «завершением урока считается
досмотр видео» на таком уроке работать не будет. Если досмотр вам нужен —
источник выбирается из первых двух. Если не нужен — берите любой.

## Задание и ответ

Две разные сущности, и на экране они называются именно так.

**Задание** — то, что задал автор. Живёт в уроке блоком, у него есть формулировка
и требования к ответу.

**Ответ** — то, что прислал ученик. У ответа есть состояние: ждёт проверки, принят,
отклонён.

Слов «ДЗ» и «домашняя работа» в интерфейсе нет: экран отправки называется
«Задание», а не «Домашняя работа».

Куратор берёт ответ на проверку, и на время проверки ответ **занят**: второй
куратор, открывший очередь, увидит, что этот ответ уже кто-то смотрит. Без этого
двое проверяют одно и то же и пишут разное.

## Тесты

Тест — тоже блок урока. У него настраиваются проходной балл, число попыток,
перемешивание вариантов и что происходит после сдачи.

Тест может быть условием открытия следующего урока — тогда он становится частью
правила доступа, см. [Доступы](/guide/access/).

## Публикация

Урок и курс публикуются отдельно. Перед публикацией проверяется, что в уроке нет
незаполненного: блок видео без источника, задание без формулировки, тест без
вопросов. Список проблем показывается сразу и **исчезает, когда проблема починена**,
а не висит до перезагрузки.

Неопубликованный урок ученику не виден вообще — независимо от правил открытия.
