Программа обновлена
Python Developer
Все, что нужно знать о программировании на Python: с нуля до middle+
28 ноября
Basic
10 месяцев
Онлайн
Чем специализация отличается от обычного курса?
Здесь вы прокачаетесь сначала до junior-разработчика, а потом сразу же – до middle. И всё это в пределах одной программы.
Кому подходит специализация?
- Тем, кто хочет с нуля освоить профессию Python-разработчика. Ваши навыки разработки будут соответствовать строгим требованиям IT-компаний, даже если сейчас вы ничего не знаете о программировании
- Тем, кто ещё не определился с языком программирования. Сможете полностью переквалифицироваться в Python-разработчика
Где нужен Python?
- бэкенд-разработка
- высокие нагрузки
- автоматизация тестирования
- веб-разработка
- data science
Какой результат вы получите?
Специализация состоит из двух ступеней, каждая длится 5 месяцев
- Чтобы начать обучение, понадобится только компьютер
- Познакомитесь с синтаксисом и базовыми операторами Python
- Изучите основы ООП и научитесь писать тесты
- Научитесь работать в асинхронном режиме с вебом и базами данных, создавать и настраивать автоматические тесты, работать с API
- Научитесь использовать библиотеки для data science, разворачивать приложения в Docker-контейнерах, настраивать автоматический деплой
- Рассмотрите фундаментальные основы Python и веб-разработки на продвинутом уровне
- Научитесь писать простой и идиоматичный код, тестировать и поддерживать код на Python
- Освоите программную инженерию, сформируете прагматичный подход к решению задач
- Научитесь писать приложения, которые не умирают под нагрузкой
Система знаний
Изучайте азы, осваивайте продвинутые навыки и переходите на профессиональный уровень
Опыт экспертов
Наши преподаватели – эксперты разработки со средним стажем 10 лет, работающие с крупными заказчиками
Восстребованность на рынке
Научитесь выполнять задачи,
которые по силам
middle-разработчику
Карьерный центр OTUS
- Партнеры: знаем потребности партнеров-работодателей и сможем напрямую рекомендовать студентов для рассмотрения в качестве кандидата
- Рекомендательное письмо: предоставим лучшим выпускникам персональное рекомендательное письмо с печатью OTUS
- Резюме и портфолио: подскажем как правильно оформить резюме, а лучшие студенты смогут получить практику на реальном проекте наших партнеров
- Полезные материалы: поделимся гайдами и проведем для вас карьерные мероприятия с экспертами
Python Developer
Работодатели курса
Формат обучения
Интерактивные вебинары
2 онлайн-занятия по 2 академических часа в неделю, вечный доступ к обучающим материалам
Две проектные работы
Дополните портфолио двумя разными проектами. Чувствуйте себя на собеседованиях уверенно
Активное комьюнити
Общайтесь с преподавателями на вебинарах, в закрытом телеграм-чате, при проверке домашних заданий
Групповые менторские консультации
Менторы объяснят, как лучше справляться с задачами. Групповой разбор домашних заданий проходит раз в месяц
Вы выполняете домашнее задание
Ментор проверяет ДЗ в личном кабинете, даёт развернутую обратную связь
На занятии ментор отвечает на частые вопросы, подробно разбирает работы студентов, объясняет каждый этап выполнения ДЗ
Вы можете проконсультироваться с ментором в телеграм-чате. Ментор расскажет об итогах проверки, объяснит непонятные детали
Программа
1 ступень
Основы Python
Цель: знакомство с базовыми структурами данных и операторами Python. Азы работы с shell и git.
Тема 1: Введение в курс. Подготовка к работе
Тема 2: Базовые типы данных
Тема 3: Управление потоком
Тема 4: Коллекции
Тема 5: Функции
Тема 6: Функции. Часть 2 (Декораторы)
Тема 7: Работа с файлами // ДЗ
Продвинутый Python
Знакомство с ООП в Python. Применение всех основных принципов ООП, знакомство с датаклассами. Разделение на модули.
Тема 1: Основы ООП
Тема 2: Продвинутый ООП. Продолжение
Тема 3: Продвинутый ООП. Исключения
Тема 4: Модули //ДЗ
Тема 5: Знакомство со встроенной библиотекой
Тема 6: Тесты // ДЗ
Тема 7: Практика
Взаимодействие с внешним миром. Создание простейшего API. Сборка проекта
Основы работы с файлами (локально) и сетью (HTTP). Создание API
Тема 1: Знакомство со встроенными модулями
Тема 2: Основы HTTP взаимодействия
Тема 3: Файлы и сеть
Тема 4: FastAPI — быстрая разработка API: знакомство
Тема 5: FastAPI — быстрая разработка API: тело и роутеры
Тема 6: Основы фронтенда
Тема 7: Базовый фронтенд // ДЗ
Тема 8: Системы контроля зависимостей
Тема 9: Docker//ДЗ
Работа с базами данных, асинхронное программирование
Знакомство с асинхронным программированием. Знакомство с базами данных: PostgreSQL, Mongo DB, Redis. Знакомство с ORM, асинхронная работа с БД.
Тема 1: Хранение данных в реляционных БД. Язык SQL
Тема 2: Групповая менторская консультация №2
Тема 3: ORM: SQLAlchemy
Тема 4: SQLAlchemy: связи между таблицами в БД
Тема 5: Миграции схем: alembic
Тема 6: Сложные связи в БД
Тема 7: Асинхронное программирование в Python
Тема 8: Асинхронная работа с БД//ДЗ
Тема 9: Работа API с БД
Тема 10: Асинхронная работа API с БД
Тема 11: Взаимодействие приложений между контейнерами, docker compose//ДЗ
Тема 12: Групповая менторская консультация №3
Веб-разработка на Django
Знакомство с Django, Django ORM, Generics. Тестирование веб-приложений, фабрики.
Тема 1: Знакомство с Django
Тема 2: Знакомство с Django REST Framework
Тема 3: Django ORM, django-debug-toolbar//ДЗ
Тема 4: Django и отложенные задачи
Тема 5: Групповая менторская консультация №4
Тема 6: Django Class Based Views, generics, Forms//ДЗ
Тема 7: Тестирование Django приложения//ДЗ
Тема 8: Фабрики
Тема 9: Работа с пользователями и права в Django
Тема 10: Выбор темы и организация проектной работы
Тема 11: Групповая менторская консультация №5
DevOps
Автоматизация тестирования и деплоя. Знакомство с GitHub Actions, GitLab CI/CD
Тема 1: GitHub Actions//ДЗ
Тема 2: GitLab CI//ДЗ
Тема 3: GitLab CD
Тема 4: Групповая менторская консультация №6
Проектная работа
Заключительный месяц курса посвящен разработке проекта. В качестве темы выбирается то, что интересно писать студенту и то, что потенциально можно будет потом включить в свое резюме. Участие в разработке некоего open source продукта тоже может рассматриваться в качестве выпускного проекта. При этом не обязательно закончить его за месяц. В процессе написания по проекту можно получить консультации преподавателей.
Тема 1: Карьерная консультация
Тема 2: Консультация по проектам и домашним заданиям
Тема 3: Защита проектных работ
2 ступень
База
Этот модуль посвящен рассмотрению фундаментальных основ языка на продвинутом уровне, а также применению общих практик разработки ПО в контексте "экосистемы" Python. Целью является достижение единого понятийного аппарата, формирование представления о внутреннем устройстве языка, его возможностях, ограничениях, недостатках и области применимости. В модуле рассматриваются аспекты функционального, процедурного и ОО программирования на Python, особенности устройства виртуальной машины, вопросы обеспечения качества ПО и автоматизации инфраструктурных задач.
Тема 1: Структура проекта, управление зависимостями, настройка окружения: обзор и лучшие практики//ДЗ
Тема 2: Дистрибуция кода и развертывание: путь от лэпота до кластера
Тема 3: Аннотации типов: уровень nightmare! //ДЗ
Тема 4: Внутренности: байткод, его исполнение и виртуальная машина//ДЗ
Тема 5: Внутренности: устройство основных типов, управление памятью и GIL
Тема 6: ООП: Объектная модель и особенности ООП в Python//ДЗ
Тема 7: ООП: Дескрипторы и метапрограммирование
Тема 8: Тестирование: pytest и как писать тесты//ДЗ
Тема 9: Тестирование: (анти)паттерны и инструменты
Тема 10: Дизайн кода и архитектура: абстракции, модульность, SOLID
Тема 11: Дизайн кода и архитектура: domain driven design, чистая архитектура//ДЗ
Тема 12: Дизайн кода и архитектура: event driven архитектура, микросервисы
Тема 13: Дизайн кода и архитектура: паттерны проектирования
Web-программирование
Этот модуль посвящен веб-разработке, тому, какой она выглядит со стороны Python программиста и какими особенностями обладает. Целью является рассмотрение нюансов и лучших практик по созданию и эксплуатации веб-сервисов с использованием фреймворка Django. В модуле рассматривается сам Django, внутреннее устройство ORM и других его составляющих, обсуждаются особенности построения REST API, масштабирования веб-проектов.
Тема 1: Сетевое взаимодействие и архитектура web-серверов//ДЗ
Тема 2: Создание динамических страниц: от CGI до ASGI
Тема 3: MVC/MVT фреймворки на примере Django//ДЗ
Тема 4: ORM: хорошее, плохое и злое
Тема 5: Работа с БД: транзакции, репликация, шардирование и даже NoSQL
Тема 6: API: что такое настоящий REST и как создавать RESTful приложения
Тема 7: FastAPI: основы //ДЗ
Тема 8: FastAPI: взаимодействие с БД и SQLAlchemy
Тема 9: Аутентификация и авторизация//ДЗ
Тема 10: API: (g)RPC, GraphQL
Тема 11: Безопасность: обзор распространенных проблем, уязвимостей и лучших практик
ML Engineering
Этот модуль посвящен знакомству с фундаментальными библиотеками, применяемыми для анализа данных. Python является де-факто стандартом при решении аналитических задач, поэтому данный аспект языка нельзя обойти стороной. При этом, целью модуля является не погружение в математические дебри, а рассмотрение таких инструментов как jupyter, numpy, pandas и matplotlib и области их применения в инженерной и аналитической деятельности.
Тема 1: Высокопроизводительные вычисления с NumPy//ДЗ
Тема 2: Исследовательский анализ данных c Pandas//ДЗ
Тема 3: Инструменты работы с данными: IPython, matplotlib, seaborn
Тема 4: Оркестрация задач: jenkins, luigi, airflow
Тема 5: Нейронки: PyTorch, TensorFlow, HuggingFace и LLM//ДЗ
Тема 6: Обзор big data экосистемы: хранение и обработка данных, обучение и inference, model serving
Highload
Этот модуль посвящен высокопроизводительным вычислениям на Python. В модуле рассматриваются особенности конкурентного и асинхронного программирования и то, как на это влияет устройство виртуальной машины языка. Так же внимание уделяется превратностям написания расширений на С и вопросам профилирования кода. В качестве бонуса происходит знакомство с языком Go, который часто используется Python программистами для решения performance-critical задач.
Тема 1: Профилирование производительности
Тема 2: Concurrency: многопоточное программирование и примитивы синхронизации//ДЗ
Тема 3: Concurrency: процессы и межпроцессное взаимодействие (IPC)
Тема 4: Ускорение с помощью C: расширения // ДЗ опциональное
Тема 5: Ускорение с помощью C: Cython, Pypy и FFI
Тема 6: asyncio: происхождение и основы//ДЗ
Тема 7: asyncio: event loop, внутренности async/await, низко- и высокоуровневое API
Тема 8: asyncio: инструменты и лучшие практики
Тема 9: Golang: зачем он Python разработчику + тур по языку//ДЗ
Тема 10: Golang: горутины, планировщик, конкурентная обработка
Тема 11: Обзор новинок и изменений из свежих версий Python
Проектная работа
Заключительный месяц курса посвящен разработке проекта. В качестве темы выбирается то, что интересно писать студенту и то, что потенциально можно будет потом включить в свое резюме. Участие в разработке некоего open source продукта тоже может рассматриваться в качестве выпускного проекта. При этом не обязательно закончить его за месяц. В процессе написания проекта можно получить консультации преподавателей. Примеры тем проекта: - система мониторинга ПК в корпоративной сети - свой ORM - web приложение по поиску групп с целевой аудиторией в ВК - исследование dataset’а с визуализацией
Тема 1: Выбор темы и организация проектной работы
Тема 2: Консультация по проектам и домашним заданиям
Тема 3: Защита проектных работ
Также вы можете получить полную программу, чтобы убедиться, что обучение вам подходит
Проектная работа
Вы выполните 2 больших проекта: по одному на каждую ступень обучения.
Разработайте архитектуру приложения, опишите задачи, которые это приложение будет выполнять, реализуйте основную функциональность. Создайте проект для веб-разработки, для интеграции с сервисами или для data science.
Примеры итоговых проектов студентов:
- Система мониторинга ПК в корпоративной сети
- Свой ORM
- Веб-приложение по поиску групп с целевой аудиторией в ВК
- Исследование датасета с визуализацией
Преподаватели
Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания
Прошедшие
мероприятия
Корпоративное обучение для ваших сотрудников
- Курсы OTUS верифицированы крупными игроками ИТ-рынка и предлагают инструменты и практики, актуальные на данный момент
- Студенты работают в группах, могут получить консультации не только преподавателей, но и профессионального сообщества
- OTUS проверяет знания студентов перед стартом обучения и после его завершения
- Простой и удобный личный кабинет компании, в котором можно видеть статистику по обучению сотрудников
- Сертификат нашего выпускника за 5 лет стал гарантом качества знаний в обществе
- OTUS создал в IT более 120 курсов по 7 направлениям, линейка которых расширяется по 40-50 курсов в год
Отзывы
Диплом о профессиональной переподготовке
OTUS осуществляет лицензированную образовательную деятельность. В конце прохождения специализации вы получите сертификат OTUS и диплом о получении новой специальности государственного образца
Почему специализация выгоднее, чем отдельные курсы?
- Дешевле, чем два курса по отдельности
- Вы получаете диплом о профессиональной переподготовке
- Знания и навыки для уровней junior и middle сведены в единую программу
Python Developer
Полная стоимость
Стоимость указана для оплаты физическими лицами
вычета до 13% стоимости обучения. Оставьте заявку и менеджер вас проконсультирует
+7 499 938-92-02 бесплатно