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

Введение

Добро пожаловать на курс!
Здесь мы изучаем Python, его фреймворки (Django, FastAPI) и то, что нужно, чтобы работать в команде: git-процесс, тестирование, контейнеры и проектирование API

Курс идёт два семестра:

  • Осень
    • Основы Python
    • Django и DRF
    • Подготовка к командной работе
    • Аналитика, работа с требованиями
    • Пишем основу сервиса на Django
    • Работа с OpenAPI и контрактами
    • Пишем API-сервис на DRF
  • Весна
    • Docker
    • Работа над проектом с фронтендерами
    • Пишем API-сервис на FastAPI с интеграцией ИИ-компоненты
    • Тестирование
    • CI/CD и деплой
    • Защита проекта

Яндекс.Практикум​

Часть теории - в Яндекс.Практикуме (тренажёры + проекты)
Команда Практикума выдаёт каждому студенту доступ в течение сентября

Simple Env​

Вся практика живёт на нашей платформе Simple Env:

  • Gitea - репозитории заданий и проектов
  • Classroom - твои задания и баллы за автогрейдер-задачи
  • SonarQube - качество кода

Доступ ко всем сервисам — единым входом (SSO) под твоим ником
Домашняя страница — портал со всеми ссылками

Формат курса​

Перевёрнутый класс
Теорию читаешь дома (модуль Практикума + КБ-страница темы), а пара — это практика
Каждая неделя — 2 пары:

  • В начале пары — короткий входной квиз по теме
  • Дальше — разбор и практика; на сложных темах 15–20 минут пояснений

Формат сдачи заданий​

У каждой темы есть автогрейдер-задача:

  • Получаешь стартовый репозиторий
  • Сдаешь код в Gitea
  • CI прогоняет проверки
  • Первичный балл в Classroom
  • Финальный балл после аппрува от преподавателя

Сдача - очно на паре

Как устроен аппрув
В начале следующей пары случайным образом выбирается часть сдач - могут попросить объяснить свой код или на месте его изменить
Не смог объяснить или изменить - задача уходит на пересдачу: баллы не сгорают, но нужно доработать и сдать заново

Использование ИИ​

Курс не запрещает ИИ — цель в том, чтобы ты освоил навык, а не просто сдал результат
Поэтому вместо тотального контроля мы делаем ставку на то, что в любой момент тебя могут попросить объяснить или на месте изменить своё решение

Правила отличаются по блокам курса — база в начале и уверенное владение инструментом в конце требуют разного:

  • Python (нед. 1–6)
    • ИИ как репетитор: спросить, почему не работает, что значит ошибка, проверить уже написанное тобой решение
    • Не как решатель - код на этом этапе пишешь сам
  • Основы web-разработки (нед. 7–8)
    • ИИ можно для быстрого синтаксиса и типового кода
    • Архитектурные решения (схема БД, дизайн API) - без ИИ
  • Django (нед. 9–12)
    • ИИ разрешён как полноценный инструмент: boilerplate, автотесты, рефакторинг
    • Фиксируешь в карте трудностей, как использовал ИИ, и готов объяснить/изменить любую часть решения на месте, если попросят
    • ИИ пишет код, ответственность за результат - на тебе
  • Работа со спекой и проектная работа (нед. 13–16)
    • Используешь ИИ, как в реальной разработке

Коротко:

  • Запрещено: сдавать решение, которое не можешь объяснить или изменить вживую
  • Разрешено всегда: спрашивать у ИИ объяснения, искать синтаксис, проверять своё решение на ошибки
  • Ожидается с недели 9: использовать ИИ как инструмент продакшн-уровня — при готовности объяснить и доработать на месте
Первый год действия правила

Это первая версия политики (курс 2026/27) — по итогам семестра будем её уточнять

Баллы за курс​

Итоговая оценка за семестр:

Баллы = min(практика 55 + экзамен 45 + доп 15, 100)

Баллы за задачи (практика, 55 баллов)​

ДЗ (21 балл)​

Автогрейдер-задача темы
Сдается через classroom

  • Python (13 баллов)
    • Базовые конструкции языка - 2
    • Настройка окружения и стилистика - 1
    • ООП и обработка ошибок - 2
    • БД и SQLite - 4
    • Работа с CLI - 2
    • Работа с сетью - 2
  • Django (8 баллов)
    • Базовое приложение - 1
    • Реализация CRUD - 3
    • Работа с пользователем и админкой - 4

Практикум (34 балла)​

  • Основы Python - 5
  • Настройка рабочего окружения - 3
  • ООП - 5
  • Основы веб-разработки - 5
  • Django ORM - 6
  • Формы в Django - 5
  • DFR - 5

Экзамен (проект, 45 баллов)​

Парный проект (2 бэкендера)

  • Анализ требований - 7
  • Верстка приложения - 5
  • CBV - 5
  • Прототипирование API - 7
  • Разработка API - 5
  • Контейнеризация - 3
  • Деплой на Simple Env - 3
  • Защита проекта - 10

Бонусы (15 баллов)​

Доп. пункты (7 баллов)​

Дополнительные требования, выполненные в проектах Практикума

  • Изгиб питона - 2 балл
  • Блогикум, ч.1 - 2 балла
  • Блогикум, ч.2 - 2 балла
  • CRUD YaTube - 1 балла

Доп. материалы​

Хэндбук (5 баллов)​

Хэндбук от Яндекса по основам Python, 1 балл за модуль

  • Базовые конструкции Python
  • Коллекции и работа с памятью
  • Функции и их особенности в Python
  • Объектно-ориентированное программирование
  • Библиотеки для получения и обработки данных

Модуль засчитывается, если по каждой теме прорешаны 3-4 задачи

Тренажёры по git (5 баллов)​

Прохождение одного из git-тренажёров

Квизы (10 баллов)​

Прохождение квизов в начале пары - в командах по 2 (та же рассадка, что для обсуждения в парах)
Команда считается ответившей верно на вопрос, если верно ответил хотя бы один из двух - неважно, ответили оба или только один (второй мог быть без связи)
Если на вопрос не ответил никто из пары - вопрос не засчитывается ни как верный, ни как неверный

  • Топ-3 команды (по доле верных ответов за квиз): 2 балла
  • Команда отвечала верно в 70% квизов: 1 балл

Суммарно - не больше 10 баллов за семестр, балл одинаковый для обоих участников команды

Улучшения курса (5 баллов)​

Вклад в улучшение курса:

  • 1 балл за принятый (замерженный) PR/issue в Gitea с рекомендованным материалом по теме курса
  • 1-2 балла за найденный баг или ошибку (в материалах КБ или в автогрейдере/инфраструктуре)

Штрафы за просрочку​

Сдача после дедлайна: −50% к баллу за задачу

Планы и цели на семестр​

Цели​

К концу осеннего семестра ты умеешь:

  • Писать код на Python
  • Работать с БД и ORM
  • Проектировать REST API
  • Создавать Django-сервис (CRUD и API)
  • Следовать процессу разработки сервиса

Планы​

  • Сентябрь
    • Знакомство с Python
  • Октябрь
    • Начало проектной деятельности
    • Старт работы с Django
  • Ноябрь
    • Django ORM
    • CRUD и CBV
    • Работа с юзерами и админкой
    • Верстка и Bootstrap
  • Декабрь
    • OpenAPI, Swagger
    • DRF
    • Docker
    • Защита проекта

Полезные ссылки​