Академия BELHARD

Онлайн/офлайн курс
«Программирование на Python»

Дневная группа: 29 июля, 2022, 10:30-13:30 (вт/пт)
16 занятий
пер. 4-ый Загородный, д. 56а
/виртуальный класс
Онлайн/офлайн курс «Программирование на Python»
Дневная группа: 29 июля 2022,
10:30-13:30 (вт/пт)
16 занятий
пер. 4-ый Загородный, д. 56а
/виртуальный класс
Получите первый опыт работы сразу после обучения!
Успейте записаться на курс «Программирование на Python. Начальный уровень» с 15 мая до 30 июня и получите скидку 20% на участие в стажировке.

Кто такой Python-разработчик?

Специалист, который занимается разработкой, поддержкой, интеграцией и оптимизацией
веб-приложений и веб-сервисов, используя одноименный язык программирования.
Python – это быстроразвивающийся язык программирования, используемый для создания и поддержания высоконагруженных веб-сервисов, в разработке прикладного ПО, в том числе игр, а также в научных исследованиях.

Кто такой Python-разработчик?

Специалист, который занимается разработкой, поддержкой, интеграцией и оптимизацией
веб-приложений и веб-сервисов, используя одноименный язык программирования.
Python – это быстроразвивающийся язык программирования, используемый для создания и поддержания высоконагруженных веб-сервисов, в разработке прикладного ПО, в том числе игр, а также в научных исследованиях.

Выбрать Начальный уровень
или Профессиональный уровень

Программа курса
«Основы программирования на Python»

1. Введение в Python
  • Введение в язык программирования Python.
  • Установка интерпретатора Python.
  • Выбор среды разработки (IDE).
  • Работа с pip.
  • Работа с виртуальными окружениями (venv).
  • Структура кода и форматирование.
  • PEP8, PEP20.
2. Работа с системой контроля версий
  • Понятие системы контроля версий (VCS). История развития. Цели использования.
  • Установка Git.
  • Основные понятия, которые используются при работе с Git.
  • Игнорирование файлов и директорий с помощью .gitignore.
  • Работа с Git. Команды. Разрешение конфликтов.
  • Популярные модели ветвления: Git flow, GitHub flow, GitLab flow.
  • Работа с GitHub.
3. Переменные, типы данных, строки, операторы
  • Переменные.
  • Функции ввода-вывода.
  • Типы данных в Python (изменяемые и неизменяемые).
  • Динамическая типизация в Python (строгая динамическая типизация).
  • Простейшие типы данных (NoneType, bool, int, float, complex).
  • Литералы строк.
  • Кодировки строк. Функции encode и decode.
  • Операции со строками.
  • Функции строк.
  • Форматирование строк.
  • Операторы.
  • Приоритет операторов.
4. Коллекции Python
  • Список (list).
  • Генераторы списков.
  • Кортеж (tuple).
  • Множество (set).
  • Генераторы множеств.
  • frozenset.
  • Словарь (dict).
  • Генераторы словарей.
  • Модуль collections.

5. Операторы ветвления, циклы, исключения
  • Операторы ветвления (if, elif, else).
  • Вложенные операторы ветвления.
  • Основы булевой алгебры.
  • Циклы for, while.
  • Операторы break и continue.
  • Использование else с циклами.
  • Обработка ошибок (try, except, else, finally).
  • Иерархия ошибок стандартной библиотеки.
  • Бросаем исключение с помощью raise. Использование raise в except.
6. Функции, аргументы
  • Функции. Функция как объект первого класса.
  • Вызов функции.
  • Встроенные функции.
  • Аргументы. Использование *args, **kwargs.
  • Значение аргументов по умолчанию.
  • Аннотации типов.
  • Возвращение значения из функции. Оператор return.
  • Внутренние функции. Замыкания.
  • Декораторы.
  • Пространства имен. Область видимости.
  • Lambda функции.
  • Генераторы.
  • Рекурсия.
7. Классы
  • Понятие класса. Создание класса с помощью ключевого слова class.
  • Понятие объекта класса. Использование self.
  • Атрибуты класса и атрибуты объекта.
  • Методы. Статические методы и методы класса.
  • Магические методы класса.
  • Инициализация и работа с объектами.
  • Использование pass.
  • Итераторы.
  • Менеджер контекста with.
  • Когда использовать классы, а когда - функции.
  • Строки документации.
8. Объектно-ориентированное программирование
  • ООП. Принципы ООП.
  • Наследование.
  • Инкапсуляция.
  • Полиморфизм.
  • Утиная типизация.
  • Декоратор property. Аксессоры (сетеры и гетеры).
  • Использование super.
  • Diamond problem. MRO.
  • Интерфейсы, абстрактные классы (модуль abc).
  • Метаклассы.
9. Импорты, полезные модули
  • Понятие модуля, пакета.
  • Импорты (import, from, as).
  • Создание поверхностных и глубоких копий с помощью copy.
  • Математические модули: decimal, fractions, math, random.
  • Дополнительные итераторы из itertools.
  • Работа с ОС с помощью os.
  • Работа с интерпретатором с помощью sys.
  • Работа с путями ОС с помощью pathlib.
  • Работа с классами данных с помощью dataclasses.
  • Работа с перечислениями с помощью enum.
  • Работа с датой и временем с помощью datetime.
  • Работа с типами с помощью typing.
  • Работа с регулярными выражениями с помощью re.
  • Работа с аргументами командной строки с помощью argparse.
  • Логгирование с помощью logging.
  • Отладчик pdb.
10. Работа с файлами. Работа с json, csv, excel
  • Работа с файлами.
  • Понятие сериализации и десериализации. Работа с json. Работа с библиотекой pydantic.
  • Работа с csv.
  • Работа с excel.
  • Работа с библиотекой pandas.
11. Основы СУБД. Работа с NoSQL
  • Понятие СУБД.
  • Реляционные и документоориентированные БД (SQL и NoSQL).
  • Теорема CAP.
  • MySQL, PostgreSQL, SQLite.
  • Установка MongoDB.
  • Работа с MongoDB.
12. Работа с SQL
  • Установка MySQL, PostgreSQL.
  • Основы языка SQL.
  • Понятие транзакции. ACID. Уровни изолированности транзакций.
  • Функции и триггеры.
13. Работа с реляционными базами с помощью SQLAlchemy
  • Понятие ORM.
  • Создание подключения.
  • Описание моделей и связей.
  • Выполнение запросов в РСУБД с помощью SQLAlchemy.
14. Конкурентность и параллельность выполнения в Python
  • Конкурентность и параллельность выполнения.
  • GIL.
  • Потоки. Модуль threading.
  • Процессы. Модуль multiprocessing.
  • Понятие корутины. Нативные корутины.
  • От yield и yield from к async и await.
  • Понятие событийного цикла. Модуль asyncio.
15. Тестирование ПО
  • Тестирование кода без использования библиотек.
  • Тестирование кода с помощью unittest.
  • Тестирование с помощью pytest.
  • TDD.
  • Линтеры.
  • Использование tox.
16. Паттерны проектирования и принципы разработки
  • YAGNI, KISS, DRY, SOLID.
  • Архитектурные паттерны.
  • Порождающие паттерны.
  • Структурные паттерны.
  • Поведенческие паттерны.

Программа курса
«Программирование на Python. Профессиональный уровень»

1. Введение в web
  • Изучение socket.
  • TCP/UDP.
  • Изучение HTTP запросов.
  • Протоколы: GET, POST, PUT, PATCH, DELETE.
  • Осуществление GET запроса к web ресурсу, используя telnet.
2. Запросы
  • Реализация своего web-сервера, используя библиотеку socket.
  • Парсинг HTTP заголовков.
  • MVC паттерн.
  • Понимание работы web фрэймворка на нижнем уровне.
  • Изучение OS Linux.
3. Настройка сервера
  • Бесплатная аренда сервера Google.
  • Настройка окружение.
  • Запуск web сервера, используя Google сервис.
  • Tmux, Supervisor, Gunicorn и прочие вспомогательные инструменты.
  • Использование Django в окружение Google сервера.
4. MVC
  • Основы html.
  • Основы css.
  • Основы bootstrap.
  • Json.
  • Postgresql
  • Концепция mvc, реализуемая django.
  • Назначение view и url файлов.
5. Настройка проекта
  • Запуск девелоперского сервера.
  • Структура проекта.
  • Настройка проекта.
  • Templates.
  • Models.
  • Панель администрирования.
  • Работа с командной строкой.
  • Создание собственных команд.
6. Модели, Rest
  • Технология REST.
  • Модуль rest framework.
  • Метаинформация.
  • Индексы.
  • Миграции.
  • Построение запросов.
  • Использование библиотеки requests для работы с rest.
7. Основы DB
  • Менеджеры моделей.
  • Транзакции особенности разных СУБД.
  • Принцип ACID.
  • Принцип CAP.
  • Принцип BASE.
  • Документирование.
8. Тестирование
  • Модульное тестирование. Модуль unittest.
  • Работа с Selenium.
  • Активация моделей (installed_apps).
  • Установка дополнительных пакетов из открытых источников.
  • Работа с зависимыми моделями.
9. Взаимодействие с шаблонами
  • Многие к одному, многие ко многим. Отношения.
  • Фильтрация, сортировка.
  • Кастомные функции orm.
  • Html (теги и атрибуты).
  • Отправка формы (front-end).
  • Язык шаблонов Django-templates.
  • Язык шаблонов jinja2.
10. Celery
  • Celery.
  • Постановка задач в очередь.
  • Параллельное вычисление, используя очереди задач.
  • Workers.
  • Binders.
11. Docker
  • Контейнеризация проекта.
  • Docker.
  • Настройка проекта в контейнере.
  • Развертывание проекта, используя Docker.
12. Сессии
  • Работа с Сессиями Django.
  • Авторизация.
13. Jquery
  • Создание динамической страницы.
  • Загрузка данных пользователю.
  • Введение в JS.
  • Валидация данных.
14. Организация
  • Загрузка данных на сервер из сторонних источников.
  • Организация серверов.
  • RabbitMQ.
  • Amazon WEB Services.
15. Заключение
  • Вывод.
  • Ответы на вопросы.

В ходе курса вы:

Научитесь программировать на языке Python.
Познакомитесь с процессом разработки программного обеспечения.
Научитесь писать веб-сервисы на языке программирования на Python.
Познакомитесь с объектно-ориентированным программированием на Python.
Узнаете, как устроены и как работают веб-приложения.

Почему стоит изучать программирование на Python
именно в Академии BELHARD?

Оптимальный размер учебных групп
Это позволяет, с одной стороны, научиться работать в команде, а с другой – добиться индивидуального подхода к каждому слушателю.
Никаких требований к базовым знаниям
Сочетание теоретических лекций и практических занятий, необходимых для того, чтобы разобраться в языке программирования Python.
64 ак.ч. теории и практики курса начального уровня и
60 ак.ч. профессионального уровня

Сочетание теоретических лекций и практических занятий, необходимых для того, чтобы разобраться в языке программирования Python.
Всего 730 BYN за курс начального уровня и
800 BYN за профессиональный уровень

Стоимость курса - всего 1/5 средней зарплаты
Python-разработчика в Беларуси (согласно данным портала dev.by). Возможна оплата в два этапа. Работаем с системой «Расчет» (ЕРИП).
Удобное время занятий
Вы можете освоить новую перспективную специальность без ущерба для вашей текущей работы.
Корпоративные группы и индивидуальное обучение
Мы адаптируем нашу учебную программу к вашим особым требованиям. Узнать подробнее
ПРЕПОДАВАТЕЛИ КУРСА
Александр Зубрицкий
Middle Full Stack developer (Python/React).
Опыт работы с анализом дынных, машинным обучением более года. Параллельно с коммерческой разработкой занимается преподаванием.
Олег Швед
Python developer. Около 3-х лет коммерческой разработки и опыт преподавания в филиале БГУИР. Работает с фреймворками: Django/Django rest framework/Flask.
Андрей Яковлев
Практикующий Python developer. Участвовал в различных стартапах по направлениям: чат-боты, нейронные сети, веб-приложения. Преподает в БГУИР более 12 лет.
Сергей Тивинский
Практикующий программист с многосторонним опытом около 15 лет. Работал как в коммерческом так и в частном секторе. Сейчас работает на фрилансе. На данный момент в работе использует PHP, JS, Python.
Артем Протаев
Python Developer с опытом более трех лет. Работает преимущественно на фрилансе. Специализируется на разработке ботов с системой администрирования и микросервисов.
Александр Мороз
Python developer c опытом коммерческой разработки более трех лет. Сооснователь компании по разработки чат-ботов для бизнеса botkits.ru.
Вячеслав Ринейский
Действующий Senior Full Stack разработчик, использующий Python на backend для построения API, чат-ботов, сайтов и автоматизации задач. Опыт программирования на Python более 5 лет.
Ян Шляхов
Python developer. Более 3-х лет коммерческой разработки. Работает с фреймворками Django и Flask, работал с OpenCV и Tensorflow.
Сергей Пашкевич
Практикующий Python разработчик с опытом работы более трех лет. Образование – БГУ ФПМИ. Работал в компаниях Duallab, Elinext, Dwynn, на данный момент работает в Itexus уже как Full stack (Python, Java Script).
Отзывы наших слушателей
Остались вопросы?
Мы ответим на любой!