На цьому курсі починають з основ мови Python. Студенти дізнаються про історію мови та її філософію. Вчать працювати з терміналом та інтерактивною оболонкою. Розглядають базові оператори, типи даних та основні структури. Опанують умовні оператори if, elif, else. Знайомляться з PEP8 - стандартом оформлення коду, та налаштовують середовище для роботи.
Далі курс охоплює основи синтаксису. Студенти вивчають цикли while і for, роботу з помилками та виключеннями. Роблять акцент на методах роботи з рядками та кодуванні. Працюють з типами bytes та bytearray. Навчаються читати та записувати файли. Якщо вистачає часу - розглядають pattern matching з Python 3.10.
Цей блок присвячений функціям в Python. Студенти вивчають основи роботи з функціями, області видимості, аргументи функцій. Працюють з lambda-функціями та функціями map, filter, zip, reduce. Потім переходять до основних принципів об'єктно-орієнтованого програмування: синтаксис класів, магічні методи, спадкування та композиція.
Тут розглядають декоратори - від замикань до синтаксису декораторів з аргументами та без. Далі переходять до ітераторів, генераторів та модуля itertools. Вивчають модулі - імпорт, простори назв, менеджери контексту та contextlib. Остання частина цього блоку охоплює тестування та документацію - піраміду тестування, unittest, py.test та доктести.
Студенти дізнаються про Global Interpreter Lock (GIL) та роботу з процесами та потоками. Вивчають контроль доступу до ресурсів, синхронізацію потоків та пакети multithreading, multiprocessing, asyncio. Потім переходять до введення в SQL - основні команди PostgreSQL, з'єднання, підзапити, агрегатні функції. Навчаються працювати з базами даних з Python через CRUD операції, ORM та SqlAlchemy.
Останній блок охоплює веб-фреймворки та бібліотеки. Студенти знайомляться з популярними фреймворками, Flask та Django, шаблоном Jinja2. Вивчають процес зборки та розгортки додатків у Docker, створення REST API, інтеграційне та E2E тестування. Фінальна частина - випускний проект, де застосовують Git, Docker, Virtualenv, Pandas, Dash, Heroku та Django на практиці.
Курс містить багато практичних завдань для закріплення матеріалу. Завершується навчання дипломним проектом, де студенти демонструють отримані навички.