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

Домашние задания

GitHub Classroom

Все домашние задания сдаются через GitHub Classroom. При первом входе Classroom попросит привязать твой GitHub-аккаунт к ФИО из ведомости. Будь внимателен — если ошибёшься, напиши преподавателю в ЛС, чтобы исправить привязку.

Как начать работу

  1. Перейди по ссылке-приглашению из таблицы ниже (или со страницы конкретного ДЗ)
  2. GitHub Classroom создаст персональный репозиторий на основе шаблона — ты получишь уведомление на GitHub и на почту
  3. Прими приглашение в репозиторий (Accept invitation)
  4. Склонируй репозиторий к себе:
    git clone https://github.com/advanced-python-2026/hw01-data-model-<твой-username>.git
    cd hw01-data-model-<твой-username>
  5. Заполни STUDENT.md — впиши ФИО точно как в ведомости (от этого зависит твой вариант)
  6. Установи зависимости и убедись, что тесты запускаются:
    uv sync
    uv run pytest -v
  7. Реализуй задания, пушь в main — CI проверит автоматически
Repository Access Issue

Если после принятия задания ты видишь страницу «Repository Access Issue — You no longer have access to your assignment repository» — это значит, что репозиторий уже создан, но ты не принял приглашение (invitation) в него.

Что делать:

  1. Зайди на github.com и проверь уведомления (колокольчик в правом верхнем углу) — там будет приглашение в репозиторий
  2. Также проверь почту, привязанную к GitHub — приглашение приходит и туда
  3. Нажми Accept invitation
  4. После этого вернись по ссылке Classroom — доступ появится

Как сдавать

Просто пушь в main. GitHub Actions запускает тесты автоматически на каждый пуш. Дедлайн — по последнему коммиту до указанной даты.

В репозитории автоматически создаётся Feedback PR — через него преподаватель оставляет комментарии к коду. Не закрывай и не мёржи этот PR.

Не изменяй защищённые файлы

Файлы tests/, .github/ защищены — их изменение будет отмечено на дашборде. Пиши код только в папке hw0N/.


Дедлайны

ПросрочкаМодификатор
В срок×1.0
До 1 недели×0.8
1–2 недели×0.6
Более 2 недельНе принимается

Пересдача. Модификатор качества при пересдаче не превышает ×1.0.

Академическая честность. Совпадение кода >80% (по copydetect) — обнуление ДЗ обоим студентам, после ревью преподавателем.


Твой вариант

Каждое задание персонализировано. Узнай свой вариант — введи ФИО точно как в ведомости. Вариант уникален для каждого ДЗ и определяется автоматически по твоему имени в STUDENT.md.

Загрузка...

Оценивание

Функциональность — баллы за каждую задачу, проверяются автоматически тестами.

Качество кода — модификатор, который преподаватель применяет ко всему ДЗ целиком:

МодификаторКритерии
×1.25Type hints везде. Docstrings на публичных функциях и классах. Осмысленные имена. ruff и mypy чистые. Нет code smells.
×1.0Код работает и читаем. Type hints есть, возможно не везде. Мелкие замечания.
×0.75Код работает, но плохо читаем. Type hints формальные или отсутствуют. Нет docstrings. Плохие имена.
×0.5Код едва работает. import *, хардкод путей, копипаст, отсутствие структуры.

Итоговая формула: Баллы_ДЗ = сумма(баллы_задач) × модификатор_качества

Шкала итоговых баллов

БаллыОценкаECTS
0–42F
5–82F
9–122F
13–153F
16–184E
19–225D
23–266C
27–307B
31–358A
36–409A
41+10A

Максимум без бонусов: 43 балла. С модификатором ×1.25: ~54. Получить 41+ означает почти все ДЗ сделаны на отлично.


Сводная таблица

ДЗТемаМакс. балловДедлайнШаблонClassroom
ДЗ 1Модель данных + CLI616.04.2026 23:59hw01-data-modelПринять задание
ДЗ 2ФП + декораторы716.04.2026 23:59hw02-decoratorsПринять задание
ДЗ 3ООП + дескрипторы716.04.2026 23:59hw03-oopПринять задание
ДЗ 4Многозадачность623.04.2026 23:59hw04-concurrencyПринять задание
ДЗ 5Asyncio623.04.2026 23:59hw05-asyncПринять задание
ДЗ 6Оптимизация530.04.2026 23:59hw06-optimizationПринять задание
ДЗ 7Метапрограммирование607.05.2026 23:59hw07-metaprogrammingПринять задание
43

Чеклист перед сдачей

  • STUDENT.md заполнен — ФИО точно как в ведомости
  • uv run pytest — все тесты зелёные
  • uv run ruff check . — без ошибок
  • uv run ruff format --check . — форматирование ок
  • Type hints на всех публичных функциях и классах
  • Код запушен в main до дедлайна