Типы float и int. Операции с числами. Логические операции, операции сравнения. Ввод/вывод (I/O)
Модуль 3. Условия и циклы
Условия: if, else, elif
Циклы: for, while.
Модуль 4. Функциональное программирование
Исключения и обработка ошибок
Функциональное программирование в Python. Функции и рекурсия
Итераторы и генераторы
Модуль 5. Задачи по пройденным темам
Задачи по Python: ветвление, циклы, декораторы
GitHub
Установить и настроить систему контроля версий (Git), создать локальный репозиторий, работа с коммитами, разобраться с принципами ветвления в Git, умение работать с ветками (в т.ч. разрешение конфликтов при слиянии веток)
Создать свою страничку на GitHub, синхронизировать локальный и удалённый репозитории.
Часть 3. ООП
Модуль 1. Введение в ООП
Объектно-ориентированное программирование для Python. Простые классы. Классы и объекты
ООП: наследование, инкапсуляция, полиморфизм, перегрузка методов и операторов
Модуль 2. Продолжение ООП
Продолжение работы с ООП (как реализовать общие для любого объекта методы, как можно удобно воплощать концепции ООП с помощью встроенных декораторов класса), работа с исключениями
Модуль 3. Модули и импорт. Работа с файлами и данными
Создание собственных классов исключений
Импорт модулей.
Модуль 4. Алгоритмы и структуры данных
Алгоритмы в Python: поиска, сортировки, деревья. О-нотация
Модуль 5. Итоговый проект по ООП "Телеграм-бот"
Инструменты, которые позволят взаимодействовать с web-контентом: открывать и загружать интернет-страницы через специальные модули Python, а не в привычном смысле через браузер.
Часть 4. Бэкенд-разработка на Python и Django
Модуль 1. Знакомство с Django
Развертывание проекта
Подключение стандартных приложений FlatPage
Установка и настройка дополнительных модулей CKEditor в админке
Верстка базового шаблона Bootstrap
Модуль 2. Реляционные базы данных, проектирование базы данных
Получение четкого представления о базах данных, их месте в современном мире, их значимости для компаний самого разного масштаба, сферах применения БД. Знание компонентов БД, Понимание как работать с информацией в БД
Умение проектировать БД, моделировать объекты реального мира для представления их в БД, моделировать свойства этих объектов и связи между ними.
Знание конкретного ПО и умение работать с ним — системы управления базами данных (СУБД), которое позволяет создавать БД и работать с ними.
Модуль 3. Язык SQL
Знакомство с языком SQL, умение создавать базы данных на основе спроектированной модели данных, изменять и удалять объекты БД, манипулировать данными
Модуль 4. Объекты, запросы, программирование в СУБД
Подготовленные запросы, параметры;
Объекты БД: последовательности, индексы, представления, пользовательские функции и некоторые другие;
Концепция программирования на уровне СУБД: преимущества и недостатки;
Использование триггеров, хранимых процедур и функций;
Расширения СУБД для выполнения различных задач: временные ряды, пространственные вычисления и пр.
Модуль 5. Модели
Проектирование схемы БД таблицы и связи +
Создание моделей данных + миграции
Модуль 6. Представления и шаблоны
Настройка представлений просмотра generics DetailView ListView
Верстка шаблонов Bootstrap
Модуль 7. Фильтры и формы
Фильтрация и пагинация DjangoFilter
Формы
Модуль 8. Создание контента и авторизация
Создание страниц добавления и редактирования CreateView, UpdateView
Авторизация и регистрация django-allauth
Модуль 9. Работа с почтой и выполнение задач по расписанию
Подтверждение email по почте отправка писем
Выполнение задач по расписанию (cron)
Создание списка рассылок
Модуль 10. Работа с асинхронными задачами через celery
Принципы работы синхронного и асинхронного взаимодействия компонентов приложения;
Знакомство с Celery, с разными брокерами сообщений;
Связывание Celery, Redis и Django в единую систему;
Добавление задачи в очередь;
Составление расписания задач.
Модуль 11. Кэширование
Знакомство с кэшированием, умение применять его в проекте для оптимизации отдельных страниц, частей шаблона и приложения в целом
Модуль 12. Качество кода
Тестирование
Статическая проверка кода flake8
Документирование кода
Аннотация типов, зачем это нужно
Модуль 13. Безопасность
Веб-безопасность, Распространенные угрозы, Методы защиты, Защита от угроз в Django
Модуль 14. Управляющие команды и настройка админки
Какие управляющие команды существуют, Команды для работы с данными, Создание собственных управляющих команд, Продвинутая работа с админкой
Модуль 15. Работа с PostgreSQL
Подключение PostgreSQL, Использование полей JSONField и ArrayField, Поиск текста по сайту, Использование представлений
Модуль 16. Продвинутые возможности работы с Django
Создание собственных тэгов и фильтров в шаблонах, Изучение работы middleware и создание собственного, Логирование, Что такое SEO и почему сегодня это важно, HTML блоки для SEO, Генерация sitemap.xml и добавление robots.txt
Модуль 17 Локализация и интернационализация
Включение поддержки разных языков и языковых настроек, Создание файла-перевода и генерация бинарного перевода, Локализация контента, Временные зоны
Модуль 18. REST архитектура
Взаимодействие программ через API, Что такое REST архитектура, Проектирование REST API, OpenAPI, Установка и первоначальная настройка Django Rest Framework (DRF), Cоздание CRUD API методов, Фильтрация и пагинация ресурсов, Авторизованный доступ
Модуль 19. Проект на Django "Доска объявлений"
Проектирование моделей для проекта, Создание представлений и шаблонов, Регистрация и авторизация пользователей, Работа с объявлениями, Работа с уведомлениями
Дипломная работа
2 кейса на выбор: разработка REST API для реального кейса от Федерации Спортивного Туризма, или кейс из банковской сферы
Бонусный блок «Основы Linux»
Бонусный блок «Основы HTML и CSS»
Бонусный блок «Асинхронный Python»
Преподаватели и менторы курса
Михаил Бородин
Руководитель разработки веб-проектов в X5 Retail Group, ведущий преподаватель курса
Опыт разработки на Python более 10 лет. Руководит созданием сервисов в области логистики и ведет курсы в Цифровой академии. Участвовал в разработке популярных финтех-приложений и геоинформационных систем.
Михаил Свинцов
Ведущий разработчик в «Студии повышения успеваемости»
Занимается научными исследованиями в области математики, компьютерного моделирования и машинного обучения. Создает образовательную платформу с адаптивной системой обучения. Преподает в Университете ИТМО алгоритмы и структуры данных, линейную алгебру и математический анализ.
Вячеслав Богданенок
Главный разработчик в нескольких веб-проектах
Опыт веб-разработки более 3 лет. Главный разработчик нескольких полноценных веб-проектов, в том числе в области криптовалют и электронного учета. Основной стек технологий: Python и его веб-фреймворки, JavaScript, HTML, CSS.
Валерия Ракова
Программист на Python в научной лаборатории СПбПУ
Опыт более 3 лет. Стек технологий: PyQt, OpenCV, Pandas, SciPy.
Опыт в IT более 8 лет. Из прошлых проектов в открытом доступе можно отметить status.net. Стек технологий: Python, Django, Flask, FastApi, JavaScript, HTML4, Node. js, Typescript.
Старший backend-разработчик в геймдев-студии Neon Banana
Опыт в IT более 4 лет. Работал в Mail.Ru, Yandex, ivi.ru. Стек технологий: Django, Flask, PostgreSQL, React.
Подтвердит вашу квалификацию для работодателей и заказчиков. Также может быть выдан на английском языке.
Вы сможете общаться в нашем карьерном чате и будете знать, где искать лучшие вакансии, заказы и актуальную информацию о рынке труда.
Выпускники и эксперты остаются на связи после окончания курса: находят полезные контакты и обмениваются личным опытом в закрытом сообществе.
Сертификат
Ресурсы для трудоустройства
Нетворкинг
Что еще вы получите по итогам обучения?
Часто задаваемые вопросы:
Первые несколько недель это будет возможно, однако в дальнейшем учеба будет требовать полного погружения. Это особенность интенсива, которая приведет вас к более быстрому результату.
Нет, все обучение ведется на русском языке. Иногда мы можем давать ссылки на англоязычные материалы — но они всегда опциональны.
Ноутбук или стационарный компьютер на macOS или Windows версии Vista и выше. Желательный объем оперативной памяти от 8 гб. Все инструкции по установке необходимого ПО вы получите от нас.
Нет, на курсе мы используем программы с открытым исходным кодом и бесплатные. Студенты скачивают с официальных сайтов самые свежие версии программ или те версии, которые необходимы для заданий.