1 модуль
Основы Python: бесплатный курс
Во вводном курсе вы почувствуете себя в роли бэкенд-разработчика на Python. Это поможет вам понять, хотите ли вы развиваться в этом направлении.
Вы узнаете, что такое бэкенд и какие задачи он решает, исследуете серверную часть приложения и поймёте, как она взаимодействует с пользователями и с другими серверами.
В каждом уроке после небольшой теоретической части вы будете писать код на Python — с первого же урока. Работать вы будете в онлайн-тренажёре — нашей интерактивной среде.
Вы увидите и почувствуете главное: вы самостоятельно можете написать программный код, который будет делать то, что вы задумали.
2 модуль
Углублённый Python
Вы детально погрузитесь в «грамматику» Python, научитесь применять встроенные инструменты и модули этого языка, поймёте, как Python работает с оперативной памятью и почему это важно на практике.
В каждом уроке вас ждут практические задания, а по окончании спринта вы напишете программу, обрабатывающую данные фитнес-трекера.
В этой же теме вы познакомитесь с основами объектно-ориентированного программирования, установите и настроите среду разработки, узнаете, как работать с системой версионирования кода.
В конце курса вы самостоятельно напишете программу для фитнес-трекера, позволяющую считать шаги и калории.
3 модуль
Бэкенд на Django
Главная тема курса — работа с веб-фреймворком Django, это программный «конструктор» для создания веб-проектов. Вы создадите веб-приложение — это будет платформа для блогов. В процессе работы вы научитесь обрабатывать http-запросы, подключите к приложению базу данных, создадите веб-страницы проекта.
Любой код нуждается в проверке — вы научитесь писать автоматические тесты для своих программ. В каждом уроке будут практические задания, часть из которых вы будете выполнять не в тренажёре, а на своём компьютере: вы развернёте среду разработки и запустите проект локально. К концу курса вы допишете проект — и он станет первой работой в вашем портфолио. Вы шаг за шагом создадите полноценную платформу для блогов — с авторизацией, персональными лентами, с комментариями и подпиской на авторов.
4 модуль
API: интерфейс взаимодействия программ
В этой теме вы разберётесь, как веб-проекты взаимодействуют друг с другом, запрашивая и передавая информацию: например, каким образом ваша программа на Python может общаться с серверами Telegram для управления ботом, а тот в свою очередь может получать информацию от других сервисов в интернете.
Вы узнаете, что такое API, создадите свой собственный REST API сервис, научитесь настраивать взаимодействие между фронтендом и бэкендом, а также напишете бота, который взаимодействует с популярными веб-сервисами. Кроме того, вы узнаете, как может быть организована авторизация в разных проектах.
5 модуль
Управление проектом на удалённом сервере
Работа с облачными сервисами, настройка серверов, тестирование и обновление кода — всё это рутинные операции, с которыми сталкивается любой программист.
Вы самостоятельно настроите сервер в облаке, узнаете, как автоматизировать процессы тестирования и обновления кода, развернёте свой проект в docker-контейнерах на сервере.
6 модуль
Самостоятельный проект «Продуктовый помощник»
Вы самостоятельно напишете веб-приложение «Продуктовый помощник»: сайт, на котором пользователи будут публиковать собственные рецепты, добавлять чужие рецепты в избранное и подписываться на публикации других авторов.
Опция «Список покупок» позволит пользователям создавать список продуктов, которые нужно купить для приготовления выбранных блюд.
7 модуль
Алгоритмы и структуры данных
Любую задачу можно решить медленно и неэффективно, а можно — быстро и экономно. Неэффективное программное решение может впустую занять все вычислительные ресурсы сервера и замедлить его работу, а то и вовсе сломать его.
Изучение алгоритмов поможет избежать подобных ошибок и ускорить работу программ. Вы научитесь проектировать решения для разгрузки системы — это позволит вашим проектам работать эффективнее.
8 модуль
Парсинг
Вы познакомитесь с парсингом — искусством собирать информацию с сайтов, структурировать её и выводить в удобном формате. Узнаете, что такое «инструменты разработчика в браузере», научитесь исследовать HTML-разметку сайта и поработаете регулярными выражениями.
Первое самостоятельное задание курса по парсингу — собрать данные с сайта, структурировать их и сохранить в удобном для обработки формате.
Ещё одна тема курса — фреймворк Scrapy, инструмент для создания асинхронных парсеров.
9 модуль
Альтернативные фреймворки Python
На основе фреймворка Flask можно реализовать практически любой проект: от простого одностраничного сайта до серьёзного проекта с авторизацией, аутентификацией и другими возможностями. Flask подходит для задач, которые подразумевают гибкость в выборе компонентов. Разработчик сам принимает решение, что ему пригодится в работе.
Фреймворк FastAPI предназначен для быстрой (от англ. fast) разработки API-приложений и основан на использовании стандартной аннотации типов Python. В этом спринте вы реализуете два проекта на FastAPI, они дадут вам представление о том, как работает этот фреймворк.
10 модуль
Python для бизнеса
Вы прокачаете навыки работы с документацией и узнаете, как использовать сервисы платформы Google. Это поможет вам понять общий принцип работы подобных сервисов и в будущем использовать этот навык для работы не только с Google, но и с другими внешними сервисами. Это большой фронт работ, на котором вы сможете найти себе применение.
11 модуль
Проектный месяц: командная работа
Знания из дополнительных уроков курса про мягкие навыки наконец-то пригодятся на практике. Вы примете участие в разработке реального проекта, и сделаете работу над ошибками по командному взаимодействию. Всё будет настоящее: сторонний заказчик (некоммерческая организация), техническое задание, команда разработчиков (вы и ваши однокурсники), тимлид, проджект, тестировщик и CTO. Будут ревью, дедлайны, отчёты, релиз — полное погружение в реальность. В течение всей программы вы изучали навыки и осваивали компетенции необходимые разработчикам, а проектный месяц полигон для их испытаний.
12 модуль
Подготовка к собеседованиям
Последний спринт посвящён основным вопросам и темам, которые затрагивают на собеседованиях: вы повторите пройденный материал и дополните его теорией, которой не было в курсе. В конце каждой темы — тесты. В этом спринте вы обзорно пройдёте от фундаментальных основ программирования до конкретных каверзных вопросов, относящихся к python и к веб-разработке.
Вебинары
Вебинары с наставником проводятся, в среднем, 1 раз в 2 недели
Карьерный трек: трудоустройство
Эта часть курса для тех, кто решил найти работу в сфере разработки.
Карьерный трек организован так же, как и предыдущие темы: теория и практика. Но вместо навыков программирования вы изучите стратегии поиска работы и узнаете о тонкостях выбора компании-работодателя, а в качестве практики вы будете писать не код, а резюме и сопроводительное письмо.
В течение курса вы подготовите портфолио к визиту работодателя и проведёте исследование рынка трудоустройства.
Карьерный трек: акселерация
Групповые и индивидуальные консультации по стратегии поиска работы. Обсуждение вакансий и тестовых заданий. Разбор сложных кейсов.