Цей курс Python розроблено для початківців. Він починається з основ і поступово переходить до складних тем. Кожен модуль будується на знаннях з попередніх.
На цьому курсі розбирають, навіщо потрібні комп'ютерні програми. Студенти дізнаються про архітектуру комп'ютера та суть програмування. Розглядають процес спілкування з Python, роботу інтерпретатора та принципи написання програм. Модуль включає парадигми програмування та практичні вправи.
Студенти вивчають змінні, вирази та інструкції Python. Розбирають поняття значення та типу даних, імена змінних та ключові слова. Модуль охоплює оператори, порядок операцій, роботу з рядками, ввід даних та коментарі. Далі йде управління потоком виконання через логічні вирази, умовне виконання та перехоплення винятків.
Модуль присвячений ітераціям та оновленню змінних. Студенти освоюють цикли while та for, навчаються працювати зі списками та уникнення нескінченних циклів. Потім переходять до функцій - виклик вбудованих функцій, створення власних, робота з параметрами. Розглядаються модулі, створення віртуальних середовищ та обробка аргументів командного рядка.
Студенти детально вивчають рядки як послідовності, операції зрізу та порівняння. Модуль включає регулярні вирази, форматування рядків та методи роботи з текстом. Далі йде робота з файлами - відкриття, читання, запис, пошук через файл та використання оператора with.
Модуль охоплює всі типи колекцій у Python - списки, кортежі, множини та словники. Студенти навчаються методам роботи з кожною структурою даних та циклам по колекціям. Потім переходять до елементів функціонального програмування - функції як об'єкти першого класу, замикання, каррування, лямбда-функції та декоратори.
Цей модуль детально розкриває тему функцій. Студенти вивчають типи даних, вбудовані контейнери, оператори контролю виконання та обробку помилок. Розглядаються comprehensions, створення функцій та процедур, аргументи функцій, рекурсія. Модуль також включає вивчення PEP8 для написання чистого коду.
Студенти освоюють ООП від базових понять до просунутих технік. Починають з оголошення класів, полів та методів, принципів інкапсуляції, спадкування та поліморфізму. Далі йдуть магічні методи, створення копій об'єктів, область видимості та Method Resolution Order. Модуль завершується управлінням створенням екземплярів класу, метакласами та контекст-менеджерами.
Цей блок охоплює прийоми ООП у практичному застосуванні. Студенти вивчають Software Engineering як процес, мову UML, принципи SOLID та метрики якості коду. Розглядаються патерни проектування - Singleton, Facade, Interface. Далі йде робота з модулями та пакетами, система імпорту, менеджер пакетів pip та створення документації.
Модуль поєднує роботу з файловою системою, серіалізацію даних та використання вбудованих пакетів Python. Студенти навчаються роботі з os, shutil, серіалізації через pickle, JSON та XML. Вивчають роботу з datetime, collections, heapq, logging та unittest для створення надійних додатків.
Студенти освоюють мережеве програмування через sockets, HTTP, парсинг HTML та XML. Потім переходять до багатопоточності - створення потоків, синхронізація, контроль доступу до ресурсів. Модуль включає роботу з процесами через multiprocessing, міжпроцесну комунікацію та пули процесів. Завершується блок асинхронним програмуванням з asyncio та Twisted.
Останні модулі присвячені роботі з даними. Студенти вивчають реляційні бази даних, мову SQL, роботу з SQLite та PostgreSQL. Далі йде Object Relational Mapping через SQLAlchemy та міграції з Alembic. Розглядаються NoSQL бази даних - Redis, Memcached, MongoDB, а також черги повідомлень через RabbitMQ та Celery. Курс завершується основами веб-розробки з Flask, REST API та мовою шаблонів Jinja2.
На курсі передбачена підтримка ментора та багато практичних завдань. Студенти створюють власний проєкт для портфоліо. Після успішного завершення видається сертифікат.