На этом курсе начинают с основ. Студенты знакомятся с языком Python и понимают, для каких задач он подходит. Учатся работать с терминалом и системой контроля версий Git. После этого модуля имеют собственную учетную запись в GitHub и умеют использовать базовые git-команды.
Здесь глубоко изучают синтаксис языка. Работа с типами данных, циклами и функциями. Учат работать с коллекциями - списками, словарями, кортежами. Разбирают более сложные концепции - итераторы, генераторы, декораторы. Обучаются обрабатывать ошибки и работать с файлами. Изучают библиотеки, регулярные выражения и многопоточное программирование. После этого модуля студенты пишут собственные программы и понимают, как оптимизировать код.
Этот блок посвящен ООП. Студенты разбираются в основных парадигмах программирования. Изучают полиморфизм, инкапсуляцию и наследование на примерах Python. Учат работать с классами и объектами. Понимают особенности Python как объектно-ориентированного языка.
Студенты учатся тестировать свой код. Узнают о unit-тестах, интеграционных тестах и end-to-end тестах. Используют библиотеки PyTest, FactoryBoy и Faker для написания тестов. Также получают базовые знания по фронтенд-разработке - HTML, CSS и JavaScript. Учат создавать пользовательские интерфейсы и работать с DOM.
В этой части изучают работу с базами данных. Студенты понимают, какие бывают базы данных и как их подключать к Python. Работают с SQL базами данных через SQLite. Также изучают основы вебразработки - отличия между фронтендом и бекендом, работу с HTML/CSS/JS и взаимодействие с API-интерфейсами.
Самый большой блок курса посвящен вебразработке. Сначала студенты работают с Flask - создают вебприложения, настраивают аутентификацию, учат работать с API. Потом переходят к Django - изучают ORM, создают более сложные проекты, осваивают Django REST Framework для создания API. Учат использовать Docker для подготовки приложений к запуску.
Последний модуль помогает подготовиться к поиску работы. Студенты понимают свои сильные стороны, составляют стратегию поиска работы. Учат правильно оформлять резюме и соцсети. Получают навыки самопрезентации и подготовки к собеседованиям.
Занятия проходят дважды в неделю - по понедельникам и средам. Курс содержит большую базу знаний для начала карьеры Python-разработчика. Акцент делается на практических навыках, которые непосредственно используются в работе.