Домашние задания
GitHub Classroom
Все домашние задания сдаются через GitHub Classroom. При первом входе Classroom попросит привязать твой GitHub-аккаунт к ФИО из ведомости. Будь внимателен — если ошибёшься, напиши преподавателю в ЛС, чтобы исправить привязку.
Как начать работу
- Перейди по ссылке-приглашению из таблицы ниже (или со страницы конкретного ДЗ)
- GitHub Classroom создаст персональный репозиторий на основе шаблона — ты получишь уведомление на GitHub и на почту
- Прими приглашение в репозиторий (Accept invitation)
- Склонируй репозиторий к себе:
git clone https://github.com/advanced-python-2026/hw01-data-model-<твой-username>.git
cd hw01-data-model-<твой-username> - Заполни
STUDENT.md— впиши ФИО точно как в ведомости (от этого зависит твой вариант) - Установи зависимости и убедись, что тесты запускаются:
uv sync
uv run pytest -v - Реализуй задания, пушь в
main— CI проверит автоматически
Если после принятия задания ты видишь страницу «Repository Access Issue — You no longer have access to your assignment repository» — это значит, что репозиторий уже создан, но ты не принял приглашение (invitation) в него.
Что делать:
- Зайди на github.com и проверь уведомления (колокольчик в правом верхнем углу) — там будет приглашение в репозиторий
- Также проверь почту, привязанную к GitHub — приглашение приходит и туда
- Нажми Accept invitation
- После этого вернись по ссылке 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.25 | Type hints везде. Docstrings на публичных функциях и классах. Осмысленные имена. ruff и mypy чистые. Нет code smells. |
| ×1.0 | Код работает и читаем. Type hints есть, возможно не везде. Мелкие замечания. |
| ×0.75 | Код работает, но плохо читаем. Type hints формальные или отсутствуют. Нет docstrings. Плохие имена. |
| ×0.5 | Код едва работает. import *, хардкод путей, копипаст, отсутствие структуры. |
Итоговая формула: Баллы_ДЗ = сумма(баллы_задач) × модификатор_качества
Шкала итоговых баллов
| Баллы | Оценка | ECTS |
|---|---|---|
| 0–4 | 2 | F |
| 5–8 | 2 | F |
| 9–12 | 2 | F |
| 13–15 | 3 | F |
| 16–18 | 4 | E |
| 19–22 | 5 | D |
| 23–26 | 6 | C |
| 27–30 | 7 | B |
| 31–35 | 8 | A |
| 36–40 | 9 | A |
| 41+ | 10 | A |
Максимум без бонусов: 43 балла. С модифик атором ×1.25: ~54. Получить 41+ означает почти все ДЗ сделаны на отлично.
Сводная таблица
| ДЗ | Тема | Макс. баллов | Дедлайн | Шаблон | Classroom |
|---|---|---|---|---|---|
| ДЗ 1 | Модель данных + CLI | 6 | 16.04.2026 23:59 | hw01-data-model | Принять задание |
| ДЗ 2 | ФП + декораторы | 7 | 16.04.2026 23:59 | hw02-decorators | Принять задание |
| ДЗ 3 | ООП + дескрипторы | 7 | 16.04.2026 23:59 | hw03-oop | Принять задание |
| ДЗ 4 | Многозадачность | 6 | 23.04.2026 23:59 | hw04-concurrency | Принять задание |
| ДЗ 5 | Asyncio | 6 | 23.04.2026 23:59 | hw05-async | Принять задание |
| ДЗ 6 | Оптимизация | 5 | 30.04.2026 23:59 | hw06-optimization | Принять задание |
| ДЗ 7 | Метапрограммирование | 6 | 07.05.2026 23:59 | hw07-metaprogramming | Принять задание |
| 43 |
Чеклист перед сдачей
-
STUDENT.mdзаполнен — ФИО точно как в ведомости -
uv run pytest— все тесты зелёные -
uv run ruff check .— без ошибок -
uv run ruff format --check .— форматирование ок - Type hints на всех публичных функциях и классах
- Код запушен в
mainдо дедлайна