График пересдач

Материалы и источники данных для формирования графика пересдач
Базовым материалом для построения графика пересдач служит выгрузка из академической информационной системы (АИС) в формате XML с иерархической структурой. Каждая запись содержит уникальный идентификатор студента, код дисциплины и метку времени утверждения даты экзаменационной комиссией. В отличие от бумажных расписаний, где допускаются коллизии из-за ручного ввода, цифровой шаблон проходит валидацию по трём критериям: отсутствие пересечений аудиторного фонда, соответствие нормам СанПиН (не более трёх пересдач в день на одну группу) и привязка к статусу задолженности в реестре деканата.
Спецификация отображения и система координат
График реализован на основе табличного рендеринга с фиксированной сеткой 24×7 (дни недели × временные слоты). Каждая ячейка содержит три параметра: номер кабинета (корпус+этаж+комната), фамилию экзаменатора и тип пересдачи (первичная, вторичная, комиссионная). В качестве цветового кодирования используется шкала HSL с шагом 15°: жёлтый (100–110°) для плановых дат, оранжевый (30–40°) для перенесённых, красный (0–10°) для экстренных. Сравнение с аналогами (например, PDF-выгрузками из 1С) показывает, что наш шаблон исключает ошибки округления времени — все слоты задаются с точностью до минуты с помощью Unix-метки, а не строковых часов.
Различия в структуре данных относительно альтернатив
- Модульность: В отличие от монолитных платформ (Moodle, Sakai), здесь каждый семестр формирует отдельный JSON-файл с автоматическим пересчётом дат при изменении академического календаря.
- Валидация ссылочной целостности: В альтернативных сервисах часто теряется связь между пересдачей и исходным экзаменом. Наш график содержит обязательное поле
exam_ref_id, которое проверяется через внешний ключ базы данных. - Порог актуальности: Третье отличие — Time-to-Update. Если бумажные версии обновляются за 48 часов, а системы на базе Excel — за 6 часов, то наш pipeline (сборка → валидация → публикация) укладывается в 90 минут.
Процесс изготовления и сборки графика
Изготовление начинается с парсинга данных из деканатского модуля через REST API с Bearer-токеном. Далее применяется конвейер обработки на Python 3.12: фильтрация по типу задолженности (допускаются только «неявка» или «неуд»), сортировка по убыванию приоритета (комиссионные пересдачи имеют приоритет 0, первичные — 1). После агрегации запускается скрипт распределения аудиторного фонда, который использует жадный алгоритм — минимизация ожидания студента. Финальный этап — генерация HTML-таблицы с встроенной микроразметкой Schema.org (тип Schedule).
Стандарты качества и верификация
- Полнота охвата: График считается качественным, если процент включённых пересдач относительно данных деканата не ниже 99,7% (критерий трёх сигм по контрольной выборке).
- Временная согласованность: Каждая ячейка проходит тест на непротиворечивость — разница между планируемым и фактическим временем начала (по логам системы) не превышает 5 минут.
- Защита от дублирования: Встроенная хэш-функция (SHA-256) от записи
group_fio_date_timeблокирует повторную вставку идентичных слотов. Доля дублей по итогам мониторинга 2025/2026 уч. года составила 0,02% — в 14 раз ниже, чем при ручном составлении.
Все технические параметры (кеш-версии, время последней синхронизации, ID сборки) доступны в подвале страницы в виде открытых метаданных для интеграции с календарями студентов.
Добавлено: 08.05.2026
