Разработчик программного обеспечения на Python (backend разработчик)

Идёт набор группы. Расписание будет опубликовано позже. Следите за изменениями на сайте.

{{course.from_date | date:'dd.MM.yyyy'}} - {{course.to_date | date:'dd.MM.yyyy'}}  % скидка действует до {{ course.discount_expire_date }}

{{course.time_start}} - {{course.time_end}}
{{course.week_days}}
Очное обучение, ₽
Вебинар, ₽
Физ. лица - - {{course.price_base_individuals ? course.price_base_individuals : '-'}} {{course.price_final_individuals ? course.price_final_individuals : '-'}} Бесплатно
{{ ( course.price_base_individuals_webinar && ( course.price_base_individuals && !webinarOnly || webinarOnly ) ) ? course.price_base_individuals_webinar : '-' }} {{course.price_final_individuals_webinar}} {{ course.course_is_webinar_active ? 'Бесплатно' : '-' }}
Юр. лица - - {{course.price_base_entities ? course.price_base_entities : '-'}} {{course.price_final_entities ? course.price_final_entities : '-'}} Бесплатно
{{ ( course.price_base_entities_webinar && ( course.price_base_entities && !webinarOnly || webinarOnly ) ) ? course.price_base_entities_webinar : '-' }} {{course.price_final_entities_webinar}} {{ course.course_is_webinar_active ? 'Бесплатно' : '-' }}
{{course.from_date | date:'dd.MM.yyyy'}} {{course.to_date | date:'dd.MM.yyyy'}} {{course.time_start}} {{course.time_end}}
{{course.week_days}} {{ ( course.price_base_individuals_webinar && ( course.price_base_individuals && !webinarOnly || webinarOnly ) ) ? course.price_base_individuals_webinar : '' }} {{ ( course.price_base_entities_webinar && ( course.price_base_entities && !webinarOnly || webinarOnly ) ) ? course.price_base_entities_webinar : '' }}

Оставить заявку на Очное обучение

Ак. час.
Днем, ₽
Вечером, ₽
В выходные, ₽
Физ. лица
{{programInfo.akadem_hour}} Ак. час.
Днем, ₽{{cities[key]['basePricesIndividuals']['day'] && !programInfo.isFree ? cities[key]['basePricesIndividuals']['day'] : (cities[key]['course_has_day'] && programInfo.isFree) ? 'Бесплатно' : '-' }}
Вечером, ₽{{cities[key]['basePricesIndividuals']['evening'] && !programInfo.isFree ? cities[key]['basePricesIndividuals']['evening'] : (cities[key]['course_has_evening'] && programInfo.isFree) ? 'Бесплатно' : '-' }}
В выходные, ₽{{cities[key]['basePricesIndividuals']['weekend'] && !programInfo.isFree ? cities[key]['basePricesIndividuals']['weekend'] : (cities[key]['course_has_weekend'] && programInfo.isFree) ? 'Бесплатно' : '-' }}
Юр. лица
{{programInfo.akadem_hour}} Ак. час.
Днем, ₽{{cities[key]['basePricesEntities']['day'] && !programInfo.isFree ? cities[key]['basePricesEntities']['day'] : (cities[key]['course_has_day'] && programInfo.isFree ) ? 'Бесплатно' : '-' }}
Вечером, ₽{{cities[key]['basePricesEntities']['evening'] && !programInfo.isFree ? cities[key]['basePricesEntities']['evening'] : (cities[key]['course_has_evening'] && programInfo.isFree) ? 'Бесплатно' : '-' }}
В выходные, ₽{{cities[key]['basePricesEntities']['weekend'] && !programInfo.isFree ? cities[key]['basePricesEntities']['weekend'] : (cities[key]['course_has_weekend'] && programInfo.isFree) ? 'Бесплатно' : '-' }}

Оставить заявку на Вебинар

Ак. час.
Стоимость, ₽
Физ. лица
{{tables.webinar.akadem_hour}}
{{tables.webinar.price_base_individuals}}
Бесплатно
Юр. лица
{{tables.webinar.akadem_hour}}
{{tables.webinar.price_base_entities}}
Бесплатно

Записаться на Дистанционное обучение

Ак. час.
Стоимость, ₽
Физ. лица %
скидка действует до {{ tables.distant.discount_expire_date }}
{{tables.distant.akadem_hour}}
{{tables.distant.price_base_individuals}} {{tables.distant.price_final_individuals}} Бесплатно
Юр. лица %
{{tables.distant.akadem_hour}}
{{tables.distant.price_base_entities}} {{tables.distant.price_final_entities}} Бесплатно

Продолжительность обучения: 412 академических часов

Форма обучения: очно, в формате вебинара

Стоимость обучения: 115 000 рублей - для физических лиц

                                    125 000 рублей - для юридических лиц

Формы оплаты:

  • единовременный платеж (предоставляется скидка 10%);
  • беcпроцентная рассрочка.

Возможность предоставления беспроцентной рассрочки (подробнее об услуге уточняйте у сотрудников Института).

Документ об окончании: диплом о профессиональной переподготовке.

Данные выданного документа вносятся в единый реестр ФИС ФРДО.

О процессе обучения:

Обучение проводится в технически оборудованных аудиториях, каждый слушатель обеспечен индивидуальным компьютером, учебные классы укомплектованы всеми необходимыми методическими материалами.

О курсе:

Новый курс профессиональной переподготовки для начинающих Python-разработчиков рассчитан на получение фундаментальных знаний и практических навыков разработки. Подойдет тем, у кого совсем нет опыта в программировании или знания не систематизированы.

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

На курсе вы научитесь:

  • Разрабатывать веб-приложения и оптимизировать их;
  • Работать с базами данных и GIT;
  • Разворачивать приложения в Docker-контейнерах;
  • Освоите linux для разработчиков;
  • Получите навык работы с фреймворками Django и SQLAlchemy;
  • По окончании обучения подготовите проект для портфолио и сможете рассматривать вакансии junior разработчика.

Программа курса включает в себя следующие модули обучения:

Название программы обучения Количество учебных часов
1 Основы программирования 24
2 Система контроля версий GIT 24
3 Программирование на языке Python. Базовый уровень 40
4 Linux для разработчиков 40
5 Разработка реляционных баз данных в PostgreSQL. Язык запросов SQL и PL/pgSQL 60
6 Python ORM 24
7 Инфраструктурные решения для программиста 60
8 Программирование на языке Python. Продвинутый уровень 60
9 Анализ рынка труда. Подготовка к собеседованиям 4
  Дипломная работа 72
  Квалификационный экзамен (защита диплома) 4
  Итого: 412 акад. часов

Модуль 1. «Основы программирования» 

Курс предназначен для ознакомления с фундаментальными принципами и методологиями программирования, алгоритмическими языками, а также способами проектирования, реализации и управления БД.

Навыки, приобретаемые по окончании курса:

  • Разработка и анализ линейных, ветвящихся и циклических алгоритмов;
  • Кодирование на языках высокого уровня;
  • Преобразование чисел в различных системах счисления;
  • Проектирование простых реляционных баз данных.

Программа курса

Тема Часы
1 Базовые понятия и определения
Задача. Решение задачи;
Алгоритм. Свойства алгоритмов;
Программа. Программное обеспечение;
Информатика. Информация. Информационная технология;
Данные. Числа в арифметике;
Выражения. Операнды. Знаки операций. Идентификаторы. Константы;
Алгоритмические структуры;
Примеры алгоритмического решения математических задач.
4
2 Логика. Представление данных
Основы алгебры логики;
Системы счисления;
Связи между системами счисления;
Двоичная и шестнадцатеричная системы счисления;
Единицы измерения ёмкости запоминающих устройств;
Представление целых и вещественных чисел в памяти ЭВМ;
Диапазоны представления чисел в двоичной системе счисления;
Представление символьной информации. Кодовые таблицы;
Понятие типа данных.
6
3 Структуры данных
Базовые структуры данных – массивы и записи;
Основные операции над структурами данных;
Динамические структуры данных. Списки. Стеки. Деревья;
Практическая задача с использованием массивов и записей;
Анализ производительности алгоритмов.
4
4 Методологии и языки программирования
Стадии и этапы разработки программ. Проектирование. Реализация. Проблемы программирования;
Методологии программирования. Классификация методологий программирования (структурное, объектно-ориентированное, логическое, функциональное, программирование в ограничениях).
Структурное программирование. Базовые принципы (пошаговая детализация, модульное структурное программирование);
Объектно-ориентированное программирование. Базовые принципы (абстрагирование, инкапсуляция, наследование, полиморфизм);
Языки программирования. Классификация. Понятие фреймворка. Применение структурного программирования для решения задач
6
5 Хранение и передача информации
Файловая система с точки зрения программы;
Бинарные и текстовые файлы, язык XML. Кэширование данных.
Передача информации на внешние устройства: буферизация, коррекция ошибок, контрольные суммы, общие принципы шифрования;
Базы данных и информационные системы;
Требования пользователей к базам данных;
Схемы обмена данными при работе с БД клиент-серверного типа;
Инфологический аспект проектирования. Модель «сущность-связь»;
Даталогический аспект проектирования;
Модели данных (иерархическая, сетевая, реляционная) их достоинства и недостатки;
Реляционные базы данных. Нормализация.
4
  Итого: 24

Модуль 2. «Система контроля версий GIT»

Git - распределенная система управления версиями (VCS). Это универсальный, свободный и удобный инструмент для командной работы программистов над проектами любого уровня. Git - это система, которая позволяет сразу нескольким разработчикам сохранять и отслеживать изменения в файлах вашего проекта. Курс будет полезен не только начинающим, но и опытным разработчикам, желающим ликвидировать пробелы в навыках использования Git.

Навыки, приобретаемые по окончании курса:

  • устанавливать и настраивать систему;
  • создавать ветви, производить их слияние и устранять конфликты версий в коде.

Программа курса

Тема Часы
1 Введение в системы контроля версий. —Системы контроля версий, зачем они нужны, их разновидности. Сходство и отличия 1
2 Репозитории, сервисы совместной разработки 1
3 Создание учётной записи на GitHub 1
4 Установка Gitlab 2
5 Использование клиента системы контроля версий GitHub desktop 1
6 Использование клиента системы контроля версий в среде разработки на примере PyCharm 1
7 Создание локального репозитория 1
8 Создание описания проекта 1
9 Синтаксис markdown 1
10 Первые commit 2
11 Файл .gitignore 2
12 Правильное описание коммита 1
13 Что и когда коммтить 1
14 Откат на прошлую версию 1
15 Отправка локальных коммитов в реестр 1
16 Обновление локального репозитория 1
17 Разрешение конфликтов 1
18 Создание веток, разработка в ветке, слияние веток 1
19 Форк проекта, доработка проекта, запрос слияния 2
20 Публикация готового проекта на GitHub 1
  Итого: 24

Модуль 3. «Программирование на языке Python. Базовый уровень»

Python – высокоуровневый язык программирования, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис языка прост и минималистичен, что хорошо подойдет для начинающих программистов. В то же время библиотека языка весьма широка, а сам Python поддерживает несколько парадигм программирования (структурное, объектно-ориентированное, функциональное и тд.), что подойдет для опытных разработчиков.

Программа курса

Тема Часы
1 Введение
Основные среды и интерпреторы Python;
Обзор интерпретартора;
Основные понятия.
2
2 Стандарт написания кода на Python
PEP8;
Линтеры;
Средства среды разработки;
Магические клавиши Pycharm.
4
3 Начинаем работать с Git
Создаем репозиторий на Guthub;
Подключаем репозиторий к среде разработки;
Коммиты;
Пишем README.
4
4 Типы данных и конструкции языка
Типизация в Python;
Условия;
Циклы;
Ввод и вывод.
4
5 Функции
Создание функций;
Фактические и формальные параметры;
Вызов функций.
2
6 Коллекции
Списки;
Словарь;
Кортеж;
Последовательность;
Что и для чего использовать.
4
7 Модули
Собственный модуль;
Пакеты;
Обзор дополнительных модулей Python;
Установка стороннего модуля.
2
8 Файловая система
Создание и редактирование файлов;
Создание каталогов;
Чтение из файла;
Запись в файл.
4
9 Исключения
Общие понятия;
Обработка исключений;
Выброс исключений;
Исключения из сторонних библиотек;
Место обработки;
Стандартные исключения Python.
6
10 Синтаксический сахар
Регулярные выражения;
Лямбда функция;
Декораторы.
4
11 Регулярные выражения
Синтаксис регулярных выражений;
Применение регулярных выражений.
4
  Итого: 40

Модуль 4. «Linux для разработчиков»

Архитектура современных бизнес систем строится на базе unix подобных решений, которые отвечают высоким требованиям безопасности и надежности. Поэтому разрабатывая ПО для них, необходимо понимать, как работает ОС Linux, и быстро локализовывать пробелы, возникающие в ходе работы. Для быстрой и качественной поставки ПО во многих проектах используется docker.

Навыки, приобретаемые по окончании курса:

  • Установка ОС Linux;
  • Базово настраивать сервер рабочей станции;
  • Понимать принципы работы очередей сообщений, серверов баз данных и механизмов кэширования данных в оперативной памяти;
  • Использовать систему docker для организации и поставки ПО.

Программа курса

Тема Часы
1 Обзор и установка ОС Linux
Red Hat подобные дистрибутивы;
Debian подобные дистрибутивы;
Обновление системы;
Подготовка к работе.
4
2 Методы установки ПО
Рабочая станция разработчика:
- Установка среды разработки;
- Установка дополнительных библиотек;
- Установка вспомогательного ПО.

Настройка сети. Работа с сетью;
Поиск и устранение ошибок и неисправностей.
8
3 Сервер для запуска ПО
Базовая настройка сервера. Задачи по расписанию;
Сервер баз данных;
Сервер очередей сообщений;
Сервер Radius.
16
4 Новый подход к поставке ПО
ТУстановка docker и зависимостей;
Запуск и поставка собственного приложения в контейнер docker.
12
  Итого: 40

Модуль 5. «Разработка реляционных баз данных в PostgreSQL. Язык запросов SQL и PL/pgSQL»

На курсе слушатели изучат логический дизайн таблиц, индексирование и планы запросов. Научатся создавать объекты баз данных, включая представления, функции, триггеры. Вы узнаете и о других аспектах работы с данными, а именно – о транзакциях, параллелизме, курсорах, обработке ошибок. Курс рассчитан на неподготовленного пользователя и начинается с основ изучения языка запросов SQL.

Навыки, приобретаемые по окончании курса:

  • Разработка нормализованной структуры реляционной базы данных;
  • Выбор подходящих типов данных при создании таблиц;
  • Задание декларативных ограничений целостности данных;
  • Выборка и модификация данных в таблицах;
  • Разработка и создание представлений, скалярных и табличных функций, триггеров;
  • Управление транзакциями.
  • Определение стратегии индексирования для повышения производительности.

Программа курса

Тема Часы
1 Введение в реляционные базы данных
Клиент-серверная архитектура. Требования к СУБД.
Инфологический, даталогический и физический аспекты проектирования БД.
Реляционная модель. Нормализация БД. Назначение, состав SQL.
4
2 Создание таблиц
Типы данных для полей таблицы. Декларативные ограничения целостности.
Связи между таблицами. Первичные и внешние ключи.
Создание таблиц в PostgreSQL посредством среды pgAdmin и DBeaver.
Понятие схемы данных, визуальное создание связей между таблицами.
Инструкции CREATE TABLE, ALTER TABLE, DROP TABLE.
Особенности изменения и пересоздания существующих таблиц.
8
3 Основы выборки данных
Синтаксис команды SELECT. Полные и краткие имена таблиц и полей. Псевдонимы.
Арифметических операции, встроенных функции. Агрегирующие функции. Фильтрация.
Операции сравнения для числовых и текстовых значений. Логические операции. Сортировка выводимого результата.
4
4 Соединение таблиц в запросе
Декартово произведение. Внутреннее соединение. Внешнее соединение.
4
5 Расширенные возможности выборки данных
Группировка строк по одному или нескольким полям.
Агрегирующие функции и фильтрация по группам. Вывод промежуточных итогов.
Вложенные запросы SELECT.
Объединение, вычитание, пересечение результатов нескольких запросов SELECT.
Обобщенные табличные выражения.
8
6 Представления
Понятие представления, преимущества использования.
Создание представлений при помощи запросов SELECT.
Ограничения на синтаксис запроса.
Использование представлений для выборки данных.
2
7 Манипулирование строками таблиц
Инструкция INSERT INTO. Отличия от запроса SELECT… INTO.
Модификация данных при помощи инструкции UPDATE. Удаление данных.
Инструкции DELETE FROM и TRUNCATE.
4
8 Функции и язык PL/pgSQL
Преимущества функций.
Создание функций, реализующих логику добавления и удаления данных.
Использование переменных. Перехват и обработка ошибок.
Табличные функции.
8
9 Курсоры
Серверные и клиентские курсоры.
Задачи, решаемые при помощи простых и вложенных курсоров.
Недостатки императивного подхода.
3
10 Транзакции
Назначение и свойства транзакций. Блокировки. Уровни изолированности транзакций.
Применение транзакций при создании функций.
3
11 Триггеры
Понятие триггера DML. Типы триггеров в стандарте.
Создание триггеров и триггерных функций. Преимущества и недостатки триггеров.
Использование триггеров для аудита.
4
12 Индексы и производительность
Алгоритмическая сложность различных запросов. План выполнения запроса.
Понятие индекса. Индексы по нескольким полям. Типы данных и индексы.
Кластеризованный индекс.
Повышение производительности при помощи некластеризованных индексов.
8
  Итого: 60

Модуль 6. Python ORM

На курсе слушатели научатся создавать и оптимизировать веб-приложения, а также получат навык работы с фреймворком SQLAlchemy для работы с реляционными базами данных.

Навыки, приобретаемые по окончании курса:

  • Строить запросы;
  • Анализировать эффективность использования ORM;
  • Работать с SQLAlchemy.

Программа курса

Тема Часы
1 Настройка Django ORM 3
2 Основные концепции ORM 3
3 Обзор Django ORM 2
4 Запрос данных из базы 2
5 Связи 3
6 Аннотирование и агрегация 2
7 Транзакции 3
8 Эффективное использование ORM 3
9 Работа с SQLAlchemy 3
  Итого: 24

Модуль 7. «Инфраструктурные решения для программиста»

Данный модуль рассматривает технологии, используемые в серьезных проектах, состоящих из большого количества разнородных, слабосвязанных, удаленных компонентов. Знание данных технологий выносит вас из мира проектов «hello world» работающих на одной пользовательской рабочей станции в мир большого продакшена с определенными требованиями к доступности, производительности, отказоустойчивости и безопасности.

Все технологии будут рассмотрены с примерами кода на языке python, все сервисы будут развернуты на клоне самого крупного коммерческого линукс дистрибутива Red Hat Enterprise Linux — RockyLinux.

Слушателю будут предоставлены виртуальные машины с установленным ПО.

Программа курса

Тема Часы
1 In-memory технологии
Redis - резидентная система управления базами данных класса NoSQL;
Tarantool - платформа in-memory вычислений.
8
2 Документно-ориентированная СУБД
MongoDB - документно-ориентированная система управления базами данных.
4
3 Колоночная аналитическая СУБД
ClickHouse - колоночная аналитическая СУБД.
4
4 Работа с очередями сообщений, распараллеливание выполнения
RabbitMQ - программный брокер сообщений на основе стандарта AMQP;
Apache Kafka - распределённый программный брокер сообщений.
12
5 Работа с REST API
Python FastAPI framework;
Python requests;
Сurl.
8
6 Кластерные решения, балансировка нагрузки, высокая доступность
Обзор решений высокой доступности;
Обзор решений балансировки;
Обзор Nginx;
Настройка Haproxy.
12
7 Логирование работы приложений
Понимание логирования;
Разработка подсистемы логирования для приложения;
Разбор и фильтрация логов;
Kibana/osd.
8
8 Docker платформа для разработки, доставки и эксплуатации приложений
Обзор решения;
Запуск контейнеров;
Интерфейс управления – Portainer;
Запуск своего приложения в Docker;
Публикация проекта на Dockerhub.
8
  Итого: 60

Модуль 8. Программирование на языке Python. Продвинутый уровень

Python – высокоуровневый язык программирования, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис языка прост и минималистичен, что хорошо подойдет для начинающих программистов. В то же время библиотека языка весьма широка, а сам Python поддерживает несколько парадигм программирования (структурное, объектно-ориентированное, функциональное и тд.), что подойдет для опытных разработчиков.

Программа курса

Тема Часы
1 Работа с базами данных
Обзор БД;
Серверные БД;
Установка движка БД;
Баз серверные БД;
Хранение данных приложения в БД;
Mysql, pgsql, reddis.
6
2 Работа с API внешних сервисов
Библиотека requests;
Формат данных JSON;
headers, payload;
Работа с API web сервиса получения погоды.
4
3 Работаем с API Telegram
Создание бота;
Создание канала;
Отправка сообщений в канал;
Отправка документов в канал;
Получение данных из канала;
Создание канала с информацией о погоде(курсе валют, последних новостях...).
4
4 Работаем с API VK
Бот для автоматической публикации постов;
Работа с командной строкой, написание планировщика.
4
5 Код ревью
Проведение ревью кода;
Написание замечаний;
Исправление замечаний(правильные коммиты)
4
6 Чтение чужого кода
Изучение чужого кода;
Написание README по чужому коду;
Ревью и оптимизация.
2
7 Совместная разработка
Создание ТЗ;
Распределение задач;
Создание веток на Github;
Реализация проекта;
Понятие чистых функций;
Слияние веток.
4
8 Совместная разработка веб сервиса на Python

Запуск простого веб сервиса;
Прием отправка данных;
Работа с Jinja;
Чтение данных из xls файла.
4
9 Совместная разработка веб сервиса на Python (Django)
Установка Django;
Основы Django;
Основы верстки;
Основы CSS;
Создание шаблонов;
Вызов внешних скриптов.
6
10 Рекомендации по оформлению портфолио на Github
Создание базового портфолио;
Ревью портфолио слушателей.
2
  Итого: 40

Модуль 9. Анализ рынка труда. Подготовка к собеседованиям

По окончании очной программы обучения HR консультант поможет составить эффективное резюме, сопроводительное письмо и подскажет как оформить портфолио.

Программа курса

Тема Часы
1 Анализ рынка труда IT-специалистов
Актуальные требования предъявляемые к IT-специалистам;
Как изменились обязанности специалистов в условиях санкций и перехода на российское ПО
Как меняется зарплата специалиста в зависимости от навыков.
2
2 Работа над резюме. Подготовка к собеседованию
На что обратить внимание при составлении резюме (в т.ч алгоритм создания резюме, на чём акцентировать внимание работодателя, сопроводительное письмо и допускаемых ошибках);
Как подготовиться к собеседованию, какие вопросы задаст будущий руководитель и что важно отметить о работодателе.
2
  Итого: 4

Модуль 1. «Основы программирования» 

Курс предназначен для ознакомления с фундаментальными принципами и методологиями программирования, алгоритмическими языками, а также способами проектирования, реализации и управления БД.

Навыки, приобретаемые по окончании курса:

  • Разработка и анализ линейных, ветвящихся и циклических алгоритмов;
  • Кодирование на языках высокого уровня;
  • Преобразование чисел в различных системах счисления;
  • Проектирование простых реляционных баз данных.

Программа курса

Тема Часы
1 Базовые понятия и определения
Задача. Решение задачи;
Алгоритм. Свойства алгоритмов;
Программа. Программное обеспечение;
Информатика. Информация. Информационная технология;
Данные. Числа в арифметике;
Выражения. Операнды. Знаки операций. Идентификаторы. Константы;
Алгоритмические структуры;
Примеры алгоритмического решения математических задач.
4
2 Логика. Представление данных
Основы алгебры логики;
Системы счисления;
Связи между системами счисления;
Двоичная и шестнадцатеричная системы счисления;
Единицы измерения ёмкости запоминающих устройств;
Представление целых и вещественных чисел в памяти ЭВМ;
Диапазоны представления чисел в двоичной системе счисления;
Представление символьной информации. Кодовые таблицы;
Понятие типа данных.
6
3 Структуры данных
Базовые структуры данных – массивы и записи;
Основные операции над структурами данных;
Динамические структуры данных. Списки. Стеки. Деревья;
Практическая задача с использованием массивов и записей;
Анализ производительности алгоритмов.
4
4 Методологии и языки программирования
Стадии и этапы разработки программ. Проектирование. Реализация. Проблемы программирования;
Методологии программирования. Классификация методологий программирования (структурное, объектно-ориентированное, логическое, функциональное, программирование в ограничениях).
Структурное программирование. Базовые принципы (пошаговая детализация, модульное структурное программирование);
Объектно-ориентированное программирование. Базовые принципы (абстрагирование, инкапсуляция, наследование, полиморфизм);
Языки программирования. Классификация. Понятие фреймворка. Применение структурного программирования для решения задач
6
5 Хранение и передача информации
Файловая система с точки зрения программы;
Бинарные и текстовые файлы, язык XML. Кэширование данных.
Передача информации на внешние устройства: буферизация, коррекция ошибок, контрольные суммы, общие принципы шифрования;
Базы данных и информационные системы;
Требования пользователей к базам данных;
Схемы обмена данными при работе с БД клиент-серверного типа;
Инфологический аспект проектирования. Модель «сущность-связь»;
Даталогический аспект проектирования;
Модели данных (иерархическая, сетевая, реляционная) их достоинства и недостатки;
Реляционные базы данных. Нормализация.
4
  Итого: 24

Модуль 2. «Система контроля версий GIT»

Git - распределенная система управления версиями (VCS). Это универсальный, свободный и удобный инструмент для командной работы программистов над проектами любого уровня. Git - это система, которая позволяет сразу нескольким разработчикам сохранять и отслеживать изменения в файлах вашего проекта. Курс будет полезен не только начинающим, но и опытным разработчикам, желающим ликвидировать пробелы в навыках использования Git.

Навыки, приобретаемые по окончании курса:

  • устанавливать и настраивать систему;
  • создавать ветви, производить их слияние и устранять конфликты версий в коде.

Программа курса

Тема Часы
1 Введение в системы контроля версий. —Системы контроля версий, зачем они нужны, их разновидности. Сходство и отличия 1
2 Репозитории, сервисы совместной разработки 1
3 Создание учётной записи на GitHub 1
4 Установка Gitlab 2
5 Использование клиента системы контроля версий GitHub desktop 1
6 Использование клиента системы контроля версий в среде разработки на примере PyCharm 1
7 Создание локального репозитория 1
8 Создание описания проекта 1
9 Синтаксис markdown 1
10 Первые commit 2
11 Файл .gitignore 2
12 Правильное описание коммита 1
13 Что и когда коммтить 1
14 Откат на прошлую версию 1
15 Отправка локальных коммитов в реестр 1
16 Обновление локального репозитория 1
17 Разрешение конфликтов 1
18 Создание веток, разработка в ветке, слияние веток 1
19 Форк проекта, доработка проекта, запрос слияния 2
20 Публикация готового проекта на GitHub 1
  Итого: 24

Модуль 3. «Программирование на языке Python. Базовый уровень»

Python – высокоуровневый язык программирования, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис языка прост и минималистичен, что хорошо подойдет для начинающих программистов. В то же время библиотека языка весьма широка, а сам Python поддерживает несколько парадигм программирования (структурное, объектно-ориентированное, функциональное и тд.), что подойдет для опытных разработчиков.

Программа курса

Тема Часы
1 Введение
Основные среды и интерпреторы Python;
Обзор интерпретартора;
Основные понятия.
2
2 Стандарт написания кода на Python
PEP8;
Линтеры;
Средства среды разработки;
Магические клавиши Pycharm.
4
3 Начинаем работать с Git
Создаем репозиторий на Guthub;
Подключаем репозиторий к среде разработки;
Коммиты;
Пишем README.
4
4 Типы данных и конструкции языка
Типизация в Python;
Условия;
Циклы;
Ввод и вывод.
4
5 Функции
Создание функций;
Фактические и формальные параметры;
Вызов функций.
2
6 Коллекции
Списки;
Словарь;
Кортеж;
Последовательность;
Что и для чего использовать.
4
7 Модули
Собственный модуль;
Пакеты;
Обзор дополнительных модулей Python;
Установка стороннего модуля.
2
8 Файловая система
Создание и редактирование файлов;
Создание каталогов;
Чтение из файла;
Запись в файл.
4
9 Исключения
Общие понятия;
Обработка исключений;
Выброс исключений;
Исключения из сторонних библиотек;
Место обработки;
Стандартные исключения Python.
6
10 Синтаксический сахар
Регулярные выражения;
Лямбда функция;
Декораторы.
4
11 Регулярные выражения
Синтаксис регулярных выражений;
Применение регулярных выражений.
4
  Итого: 40

Модуль 4. «Linux для разработчиков»

Архитектура современных бизнес систем строится на базе unix подобных решений, которые отвечают высоким требованиям безопасности и надежности. Поэтому разрабатывая ПО для них, необходимо понимать, как работает ОС Linux, и быстро локализовывать пробелы, возникающие в ходе работы. Для быстрой и качественной поставки ПО во многих проектах используется docker.

Навыки, приобретаемые по окончании курса:

  • Установка ОС Linux;
  • Базово настраивать сервер рабочей станции;
  • Понимать принципы работы очередей сообщений, серверов баз данных и механизмов кэширования данных в оперативной памяти;
  • Использовать систему docker для организации и поставки ПО.

Программа курса

Тема Часы
1 Обзор и установка ОС Linux
Red Hat подобные дистрибутивы;
Debian подобные дистрибутивы;
Обновление системы;
Подготовка к работе.
4
2 Методы установки ПО
Рабочая станция разработчика:
- Установка среды разработки;
- Установка дополнительных библиотек;
- Установка вспомогательного ПО.

Настройка сети. Работа с сетью;
Поиск и устранение ошибок и неисправностей.
8
3 Сервер для запуска ПО
Базовая настройка сервера. Задачи по расписанию;
Сервер баз данных;
Сервер очередей сообщений;
Сервер Radius.
16
4 Новый подход к поставке ПО
ТУстановка docker и зависимостей;
Запуск и поставка собственного приложения в контейнер docker.
12
  Итого: 40

Модуль 5. «Разработка реляционных баз данных в PostgreSQL. Язык запросов SQL и PL/pgSQL»

На курсе слушатели изучат логический дизайн таблиц, индексирование и планы запросов. Научатся создавать объекты баз данных, включая представления, функции, триггеры. Вы узнаете и о других аспектах работы с данными, а именно – о транзакциях, параллелизме, курсорах, обработке ошибок. Курс рассчитан на неподготовленного пользователя и начинается с основ изучения языка запросов SQL.

Навыки, приобретаемые по окончании курса:

  • Разработка нормализованной структуры реляционной базы данных;
  • Выбор подходящих типов данных при создании таблиц;
  • Задание декларативных ограничений целостности данных;
  • Выборка и модификация данных в таблицах;
  • Разработка и создание представлений, скалярных и табличных функций, триггеров;
  • Управление транзакциями.
  • Определение стратегии индексирования для повышения производительности.

Программа курса

Тема Часы
1 Введение в реляционные базы данных
Клиент-серверная архитектура. Требования к СУБД.
Инфологический, даталогический и физический аспекты проектирования БД.
Реляционная модель. Нормализация БД. Назначение, состав SQL.
4
2 Создание таблиц
Типы данных для полей таблицы. Декларативные ограничения целостности.
Связи между таблицами. Первичные и внешние ключи.
Создание таблиц в PostgreSQL посредством среды pgAdmin и DBeaver.
Понятие схемы данных, визуальное создание связей между таблицами.
Инструкции CREATE TABLE, ALTER TABLE, DROP TABLE.
Особенности изменения и пересоздания существующих таблиц.
8
3 Основы выборки данных
Синтаксис команды SELECT. Полные и краткие имена таблиц и полей. Псевдонимы.
Арифметических операции, встроенных функции. Агрегирующие функции. Фильтрация.
Операции сравнения для числовых и текстовых значений. Логические операции. Сортировка выводимого результата.
4
4 Соединение таблиц в запросе
Декартово произведение. Внутреннее соединение. Внешнее соединение.
4
5 Расширенные возможности выборки данных
Группировка строк по одному или нескольким полям.
Агрегирующие функции и фильтрация по группам. Вывод промежуточных итогов.
Вложенные запросы SELECT.
Объединение, вычитание, пересечение результатов нескольких запросов SELECT.
Обобщенные табличные выражения.
8
6 Представления
Понятие представления, преимущества использования.
Создание представлений при помощи запросов SELECT.
Ограничения на синтаксис запроса.
Использование представлений для выборки данных.
2
7 Манипулирование строками таблиц
Инструкция INSERT INTO. Отличия от запроса SELECT… INTO.
Модификация данных при помощи инструкции UPDATE. Удаление данных.
Инструкции DELETE FROM и TRUNCATE.
4
8 Функции и язык PL/pgSQL
Преимущества функций.
Создание функций, реализующих логику добавления и удаления данных.
Использование переменных. Перехват и обработка ошибок.
Табличные функции.
8
9 Курсоры
Серверные и клиентские курсоры.
Задачи, решаемые при помощи простых и вложенных курсоров.
Недостатки императивного подхода.
3
10 Транзакции
Назначение и свойства транзакций. Блокировки. Уровни изолированности транзакций.
Применение транзакций при создании функций.
3
11 Триггеры
Понятие триггера DML. Типы триггеров в стандарте.
Создание триггеров и триггерных функций. Преимущества и недостатки триггеров.
Использование триггеров для аудита.
4
12 Индексы и производительность
Алгоритмическая сложность различных запросов. План выполнения запроса.
Понятие индекса. Индексы по нескольким полям. Типы данных и индексы.
Кластеризованный индекс.
Повышение производительности при помощи некластеризованных индексов.
8
  Итого: 60

Модуль 6. Python ORM

На курсе слушатели научатся создавать и оптимизировать веб-приложения, а также получат навык работы с фреймворком SQLAlchemy для работы с реляционными базами данных.

Навыки, приобретаемые по окончании курса:

  • Строить запросы;
  • Анализировать эффективность использования ORM;
  • Работать с SQLAlchemy.

Программа курса

Тема Часы
1 Настройка Django ORM 3
2 Основные концепции ORM 3
3 Обзор Django ORM 2
4 Запрос данных из базы 2
5 Связи 3
6 Аннотирование и агрегация 2
7 Транзакции 3
8 Эффективное использование ORM 3
9 Работа с SQLAlchemy 3
  Итого: 24

Модуль 7. «Инфраструктурные решения для программиста»

Данный модуль рассматривает технологии, используемые в серьезных проектах, состоящих из большого количества разнородных, слабосвязанных, удаленных компонентов. Знание данных технологий выносит вас из мира проектов «hello world» работающих на одной пользовательской рабочей станции в мир большого продакшена с определенными требованиями к доступности, производительности, отказоустойчивости и безопасности.

Все технологии будут рассмотрены с примерами кода на языке python, все сервисы будут развернуты на клоне самого крупного коммерческого линукс дистрибутива Red Hat Enterprise Linux — RockyLinux.

Слушателю будут предоставлены виртуальные машины с установленным ПО.

Программа курса

Тема Часы
1 In-memory технологии
Redis - резидентная система управления базами данных класса NoSQL;
Tarantool - платформа in-memory вычислений.
8
2 Документно-ориентированная СУБД
MongoDB - документно-ориентированная система управления базами данных.
4
3 Колоночная аналитическая СУБД
ClickHouse - колоночная аналитическая СУБД.
4
4 Работа с очередями сообщений, распараллеливание выполнения
RabbitMQ - программный брокер сообщений на основе стандарта AMQP;
Apache Kafka - распределённый программный брокер сообщений.
12
5 Работа с REST API
Python FastAPI framework;
Python requests;
Сurl.
8
6 Кластерные решения, балансировка нагрузки, высокая доступность
Обзор решений высокой доступности;
Обзор решений балансировки;
Обзор Nginx;
Настройка Haproxy.
12
7 Логирование работы приложений
Понимание логирования;
Разработка подсистемы логирования для приложения;
Разбор и фильтрация логов;
Kibana/osd.
8
8 Docker платформа для разработки, доставки и эксплуатации приложений
Обзор решения;
Запуск контейнеров;
Интерфейс управления – Portainer;
Запуск своего приложения в Docker;
Публикация проекта на Dockerhub.
8
  Итого: 60

Модуль 8. Программирование на языке Python. Продвинутый уровень

Python – высокоуровневый язык программирования, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис языка прост и минималистичен, что хорошо подойдет для начинающих программистов. В то же время библиотека языка весьма широка, а сам Python поддерживает несколько парадигм программирования (структурное, объектно-ориентированное, функциональное и тд.), что подойдет для опытных разработчиков.

Программа курса

Тема Часы
1 Работа с базами данных
Обзор БД;
Серверные БД;
Установка движка БД;
Баз серверные БД;
Хранение данных приложения в БД;
Mysql, pgsql, reddis.
6
2 Работа с API внешних сервисов
Библиотека requests;
Формат данных JSON;
headers, payload;
Работа с API web сервиса получения погоды.
4
3 Работаем с API Telegram
Создание бота;
Создание канала;
Отправка сообщений в канал;
Отправка документов в канал;
Получение данных из канала;
Создание канала с информацией о погоде(курсе валют, последних новостях...).
4
4 Работаем с API VK
Бот для автоматической публикации постов;
Работа с командной строкой, написание планировщика.
4
5 Код ревью
Проведение ревью кода;
Написание замечаний;
Исправление замечаний(правильные коммиты)
4
6 Чтение чужого кода
Изучение чужого кода;
Написание README по чужому коду;
Ревью и оптимизация.
2
7 Совместная разработка
Создание ТЗ;
Распределение задач;
Создание веток на Github;
Реализация проекта;
Понятие чистых функций;
Слияние веток.
4
8 Совместная разработка веб сервиса на Python

Запуск простого веб сервиса;
Прием отправка данных;
Работа с Jinja;
Чтение данных из xls файла.
4
9 Совместная разработка веб сервиса на Python (Django)
Установка Django;
Основы Django;
Основы верстки;
Основы CSS;
Создание шаблонов;
Вызов внешних скриптов.
6
10 Рекомендации по оформлению портфолио на Github
Создание базового портфолио;
Ревью портфолио слушателей.
2
  Итого: 40

Модуль 9. Анализ рынка труда. Подготовка к собеседованиям

По окончании очной программы обучения HR консультант поможет составить эффективное резюме, сопроводительное письмо и подскажет как оформить портфолио.

Программа курса

Тема Часы
1 Анализ рынка труда IT-специалистов
Актуальные требования предъявляемые к IT-специалистам;
Как изменились обязанности специалистов в условиях санкций и перехода на российское ПО
Как меняется зарплата специалиста в зависимости от навыков.
2
2 Работа над резюме. Подготовка к собеседованию
На что обратить внимание при составлении резюме (в т.ч алгоритм создания резюме, на чём акцентировать внимание работодателя, сопроводительное письмо и допускаемых ошибках);
Как подготовиться к собеседованию, какие вопросы задаст будущий руководитель и что важно отметить о работодателе.
2
  Итого: 4

Укажите ваш e-mail, выберите формат обучения и нажмите запросить КП, и мы отправим Вам коммерческое предложение по данному курсу!

очно

вебинар

Закрыть X

Запрос успешно отправлен! Спасибо за обращение!
В ближайшее время мы отправим Вам коммерческое предложение по данному курсу!

Ошибки в следующих полях:

После обучения вы получаете:

Контактная информация: