На этом курсе начинают с основ функционального программирования. Слушатели узнают о функциях как объектах первого класса, лямбда-выражениях и замыканиях. Далее рассматривают функции высшего порядка, декораторы и работу с filter, map, reduce. В конце модуля изучают полезные модули functools, operator и itertools.
Второй модуль посвящен работе с сетью. Здесь разбирают протоколы UDP и TCP, обучают создавать socket-клиенты и серверы. Практическая работа включает использование библиотек socket, urllib и requests для реальных сетевых взаимодействий.
Этот блок охватывает работу с различными форматами данных - CSV, XML, JSON. Слушатели знакомятся с СУБД SQLite, изучают её особенности и синтаксис запросов. На практике используют библиотеку SQLite в Python для работы с базами данных.
Модуль начинается с основ многопоточного программирования и объяснения GIL в Python. Изучают модуль threading с его основными компонентами - Thread, Lock, RLock, Event. Далее переходят к асинхронному программированию с async/await, модулем asyncio и библиотеками aiohttp, gevent, tornado.
Эта часть курса охватывает типизацию в Python с использованием модуля typing и mypy. Также рассматривают виртуальные окружения - их создание, активацию и аналоги вроде virtualenv, poetry. Завершается модуль тестированием - созданием unit-тестов и использованием сторонних библиотек для тестирования.
Курс включает два практических занятия, где слушатели применяют полученные знания в реальных задачах. Это помогает закрепить материал и получить опыт работы с рассмотренными технологиями.
После завершения курса вы сможете создавать сетевые приложения, работать с различными форматами данных и SQLite. Научитесь писать многопоточные и асинхронные программы, использовать типизацию и создавать модульные тесты. Также освоите стандарты оформления кода PEP8 и работу с библиотекой Numpy.
Курс включает практические занятия с проверкой домашних заданий. Доступен бесплатный видеокурс для дополнительного обучения. Предусмотрено онлайн тестирование и получение сертификата после успешного завершения.