Этот курс 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.
На курсе предусмотрена поддержка ментора и много практических заданий. Студенты создают собственный проект для портфолио. После успешного завершения выдается сертификат.