*Оплата в 3 этапа
(первый этап — до начала обучения, второй — в середине обучения, третий - в конце обучения)
Режим и формат обучения:
Расписание: 3 раза в неделю (ПН, СР, ПТ)
Формат: онлайн в режиме реального времени
Записи занятий доступны к пересмотру на протяжении всего обучения +неделю после, где можно пересмотреть непонятные моменты, справочная литература, небольшие тесты по пройденному материалу, ссылки для любознательного слушателя, различные онлайн-тренажеры для практики кодинга и не только.
Курс преподается на русском языке, материалы курса, презентации — на английском языке.
Курс для:
- студентов с небольшим или полным отсутствием предварительных знаний в области программирования;
- тех, кто программировал на других языках и хочет изучить основы Python в максимально сжатые сроки;
- тех, кого интересует backend-разработка, Data Science, BI, QA, но не знают с чего начать;
- всех, кто хочет получить практических опыт в разработке на Python.
Преподаватель курса:

Стефан Жаврид — работал на таких позициях, как Business Analyst, Software Engineer (Python, Django), Golang Developer.
Сертифицированный инструктор в Cisco Networking Academy по направлениям: CCNA, DevNet, IoT и Big Data, Python, Linux.
Руководитель филиала Oracle Academy.
Сертификаты: ICAgile Certified Professional (ICAgile), CCNA (Cisco), PCEP (Python Institute), Docker (IBM), Cybersecurity (Cisco).
Бакалавр (бизнес-информатика) и Магистр (экономика).
Более 9 лет в частном образовании для взрослых и детей в качестве преподавателя, дизайнера образовательных траекторий, ментора.
После прохождения курса вы будете:
- Знать программировании на уровне, который позволит вам проектировать, писать, отлаживать, запускать программы на языке Python и понимать основные концепции разработки программного обеспечения.
- Знать более сложные аспекты программирования на Python, включая модули, пакеты, исключения, обработку файлов, а также общие методы программирования и объектно-ориентированным программирования (ООП).
- Уметь работать с разными типами файлов данных из разных источников и использовать их в проектах, требующих манипулирования данными и обработки файлов.
- Знать, как взаимодействовать с базами данных SQLite и манипулировать данными, используя базовые запросы к базе данных; создавать и обрабатывать файлы XML; читать, записывать и обрабатывать файлы csv; создавать и обрабатывать сообщения журнала из программ Python и управлять файлами конфигурации.
- Знать, как организовывать взаимодействие с внешними ресурсами и серверами, используя протокол HTTP и сокеты.
- Знать, как реализовать лучшие практики и соглашения по написанию качественного кода, используя язык Python. Узнаете, как писать более качественный и эффективный код, а так же, как избежать самых распространенных ошибок и недочетов, как их устранить, опираясь на лучшие практики.
Среди практических заданий и тестовых вопросов рассматриваются задачи из реальных собеседований и тестовых заданий на позицию Intern/Trainee/Junior разработчика на Python.
Практика кодинга практически на каждом занятии.
Необходимая подготовка:
- умение пользоваться персональным компьютером;
- базовые знания математики и логики;
- знание основ алгоритмизации;
- знание английского языка на уровне чтения технической документации.
По окончании курса каждый слушатель получит:
- Сертификат Института.
- Выполнять все практические задания и сдавать их в срок.
- Создать итоговый проект.
Программа курса:
Модуль 1. Знакомство с профессией. Введение в разработку ПО.
- Знакомство;
- Введение в профессию разработчика;
- Жизненный цикл разработки ПО (SDLC);
- Фазы жизненного цикла разработки ПО;
- Роль программиста и других участников проекта в рамках SDLC.
Модуль 2. Введение в Python и программирование. Базовые типы данных, переменные, операции ввода-вывода, операторы.
- Как писать и запускать простые программы на Python;
- Базовые типы данных int float str;
- Что такое литералы, операторы и выражения Python;
- Что такое переменные и как они работают в Python;
- Как выполнять основные операции ввода и вывода.
Модуль 3. Логические значения, условные выражения, циклы, списки и обработка списков, логические и побитовые операции.
- Основы программирования, как выполняется программа, как работает и из чего состоит язык программирования;
- Разница между компиляцией и интерпретацией;
- Что такое Python, его место среди других языков программирования и что отличает разные версии Python;
- Тип данных bool;
- Операторы сравнения;
- Условные операторы (if, if-else, if-elif, else);
- Тернарный оператор (if-else);
- Match-case;
- Циклы (while, for);
- break и continue;
- Оператор принадлежности in;
- Логические операторы and, not, or;
- Битовые операторы & | ~ ^, тип данных bin;
- Изменяемость объектов;
- Типы данных list и set, frozenset (построение, индексация и слайсинг; манипулирование содержимым);
- Однострочники;
- Как отсортировать список с помощью базовых алгоритмов сортировки и другими методами;
- Многомерные списки;
- Способы копирования copy, deepcopy.
Модуль 4. Строки, методы строк и списков, исключения.
- Символы, строки и стандарты кодирования;
- Unicode, UTF-8.
Модуль 5. Системы контроля версий. Разработка ПО используя Git.
- Системы контроля версий, их цели, задачи, типы, преимущества и недостатки;
- Git - что это, как установить, как использовать;
- Что такое репозитории, их виды и различия;
- Что такое брэнчинг (branching);
- Github;
- Основные команды Git (clone, add, commit, push);
- Как работать с файлами;
- Как работать с репозиториями;
- Как работать с брэнчами.
Модуль 6. Функции, кортежи, словари
- DRY, KISS;
- Структура кода и понятие функции;
- Вызов функции и возврат результата из функции;
- Области видимости и затенение переменных;
- Ограничения, накладываемые областями видимости;
- Тип данных tuple, их назначение, создание и использование кортежей;
- Тип данных dict, их назначение, создание и использование словарей;
- Рекурсивные алгоритмы;
- Debugging;
- Однострочники;
- Способы как обрабатывать ошибки runtime;
- Управление потоком ошибок с помощью try и except;
- Иерархия исключений.
Модуль 7. Модули, пакеты и PIP.
- Импорт и использование модулей Python;
- Использование некоторых из наиболее полезных модулей стандартной библиотеки Python;
- Создание и использование модулей и пакетов Python;
- Модуль timeit;
- PIP и способы его использования для установки и удаления готовых пакетов из официального репозитория PyPI.
Модуль 8. Исключения и Unit-тестирования.
- Исключения - оператор try и предложение except, встроенные исключения Python, тестирование и отладка кода;
- Конструкция try/except;
- Выражения raise, assert;
- Debugging;
- Тестирование ПО;
- Основы unit-тестирования;
- Модуль pytest;
- Покрытие кода тестами;
- Модуль pytest-cov;
- Модуль сoverage;
- Doctest;
- Процесс код-ревью.
Модуль 9. Объектно-ориентированного программирования.
- Основные концепции объектно-ориентированного программирования (ООП);
- Различия между процедурным и объектным подходами (приемущества и недостатки);
- Классы, объекты, свойства и методы;
- Проектирование классов и создание объектов;
- Абстракция, наследование, полиморфизм, инкапсуляция в Python;
- Порядок разрешения методов (MRO);
- Композиция;
- Множественное наследование;
- Проблемы множественного наследования (Diamond Problem);
- Исключения как объекты;
- Магические (dunder/special) методы;
- Методы: экземпляров, классовые, абстрактные;
- Создание кастомных исключения;
- Unit-тесты - фикстуры, исключения.
Модуль 10. Продвинутый Python.
- property;
- args, kwargs;
- lambda функции;
- итераторы;
- Выражения и функции генераторы;
- Функции - map, filter, zip, all, any, enumerate, reduce;
- Замыкание;
- Метапрограммирование.
Модуль 11. Генераторы, итераторы, замыкание, работа с файлами, STL.
- Генераторы, итераторы и замыкания;
- Как работает генератор и итератор;
- Как создать собственные генераторы и итераторы;
- Работа с файловой системой, деревом каталогов и файлами;
- Модули стандартной библиотеки (STL).
Модуль 12. Паттерны и работа с файлами, базой данных.
- Паттерны проектирования (Декоратор и прочие);
- XML, CSV, JSON - создание и обработка файлов;
- Сериализация и десериализация объектов;
- Logging - основы ведения журнала событий;
- Configparser - парсер конфигурационного файла;
- Базы данных;
- Базовый синтаксис SQL;
- СУБД SQLite;
- Взаимодействие с базами данных SQLite (DB-API и ORM).
Модуль 13. Работа с API. Основы Flask.
- Основы сетей;
- Основные концепции сетевого программирования, модуль requests, клиент-серверного взаимодействия;
- Что такое API;
- Что такое REST;
- Отличия http и https;
- Что такое HTTP-методы и как что-то сказать в HTTP;
- Что такое CRUD;
- Как создать простой клиент REST и как получать и удалять данные с сервера, добавлять к нему новые данные и обновлять уже существующие данные;
- Основы работы с веб-фреймворком Flask. Flask restful. Jinja. SQLite.
Модуль 14. Лучшие практики, стандарты и соглашения о том как писать хороший код на языке Python.
- Test Driven Development (TDD).
- Дзен Python;
- Руководство по стилю для кода Python;
- Документация проекта.
- Соглашения о строках документации;
- Как избежать типичных ошибок и ошибок при написании кода;
- Как писать элегантный и эффективный код;
- Линтеры.
Модуль 16. Куда двигаться дальше?
- Подведение итогов обучения.
- Секция Вопрос-ответ.
- Экскурс по основным направлениям в IT связанным c Python. Рекомендации по выбору.
Отзывы cлушателей курса:
Курс оставил только приятные ощущения: много практики, приятный и толковый преподаватель, гибкий график сдачи домашних заданий, много полезных материалов от преподавателя, удобное расписание и форма проведения онлайн обучения.
Савко Вадим
Курс был довольно интересный. Программа была построена системно. На протяжении всего времени преподаватель поддерживал нас и давал советы, а так же прикреплял интересные источники, где можно было ознакомиться с дополнительной информацией. Любые возникающие вопросы сразу же были закрыты. Курсом осталась очень довольна :)
Виктория Дикевич
Цель курса направлена на совсем начинающих программистов, для которых это первый язык программирования. Сам курс весьма информативен, охватывает большинство возможностей языка Python, дает представление о сути программирования, ООП, клиент-сервер взаимодействии, работе с БД.
Андрей Попок
Получить дополнительную информацию:
+375 29 690 40 33, HPaulovich@instituteiba.by