Разработчик программного обеспечения на Java (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}} Бесплатно

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

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

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

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

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

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

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

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

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

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

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

О курсе:

Программа профессиональной подготовки сфокусирована на освоении высоко востребованного языка Java.

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

Особое внимание уделяется глубокому пониманию алгоритмизации и объектно-ориентированного программирования, принципы которых мало отличаются в различных языках высокого уровня.

Платформой для изучения языка SQL и разработки реляционных баз данных выбрана свободная система PostgreSQL, стремительно ставшая самой востребованной в корпоративном сегменте.

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

Освоят наиболее распространенный фреймворк Spring, который чаще всего требуется от начинающих специалистов.

По окончании обучения слушатели:

  • Смогут создавать сайты;
  • Научаться разрабатывать веб-приложения;
  • Будут уметь работать с базами данных;
  • Подготовят проект для портфолио;
  • Сформируют систему знаний и навыков для проектирования и реализации настольных и веб приложений, а также уверенного старта в мире программирования на должности Junior Developer.

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

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

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

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

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

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

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

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

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

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

Модуль 3. «Алгоритмизация и основы ООП. Язык Java»

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

  • Работа с различными типами данных, операторами и функциями Java. Структурное программирование с разбиением на подпрограммы-функции;
  • Построение структур данных и решение алгоритмических задач;
  • Основы объектно-ориентированного программирования.

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

Тема Часы
1 Введение
Структура программы. Работа с интегрированной средой программирования.
Элементы языка. Типы данных. Описание переменных. Операции ввода-вывода.
Использование библиотечных функций. Соглашение об именах.
4
2 Операции
Арифметические и логические операции.
Операции присваивания и отношения.
Приоритеты и ассоциативность операций. Трассировка программы.
4
3 Операторы
Оператор-выражение и составной оператор. Операторы ветвления if-else, switch.
Операторы цикла – while, do-while и for. Использование операторов break, continue, и return. Практические задачи на вычисления с использованием циклов и ветвлений.
8
4 Массивы
Одномерные и многомерные массивы.
Декларация и размещение в памяти. Индексация.
Обращение к элементам массива. Алгоритмы с поэлементным обращением к массиву. Ввод и вывод.
6
5 Функции
Возвращение значения функцией. Аргументы и параметры. Рекурсия.
Перегрузка функций. Декомпозиция задачи при помощи функций.
10
6 Строки
Класс String и его свойства. Альтернативы: StringBuilder и StringBuffer.
Поиск и преобразование в строках. Понятие регулярного выражения.
4
7 Алгоритмы работы с массивами
Поиск и сортировка в массиве. Анализ вычислительной сложности.
Упорядочивание двумерных массивов по заданному шаблону. Задача «8 ферзей».
12
8 Структуры данных
Класс как структура. Размещение в памяти. Перечисления.
Применение структур и перечислений в решении задач.
8
9 Алгоритмы на графах
Введение в теорию графов. Способы представления графа.
Классические задачи и практическое применение.
4
10 Основы ООП
Инкапсуляция. Управление доступом. Статические и нестатические методы. Конструкторы. Наследование. Полиморфизм.
Обобщение как один из базовых принципов проектирования. Лестница абстракции.
8
11 Знакомство с коллекциями Java
Динамические структуры на данных на примере односвязного списка.
Другие динамические структуры данных.
Интерфейс Collection на практике: работа со списками, множествами, стеками.
4
12 Исключения
Обработка ошибок, классификация исключений
Перехват исключений, трассировка стека исключений.
4
13 Файловые операции
Понятие потока. Текстовые и бинарные файлы.
Основные способы чтения и записи текстовых файлов.
4
  Итого: 80

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

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

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

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

Тема Часы
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

Модуль 5. «UML. Технология программирования и моделирования программных систем»

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

  • Понимание назначения языка UML в современном программировании;
  • Понимание способов построения различных видов диаграмм UML;
  • Понимание выбора Case-средств при построении диаграмм.

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

Тема Часы
1 Введение в UML. Виды диаграмм
Бизнес-процессы, бизнес-модель и бизнес-аналитика
Информационная система и ее компоненты
Возможности языка UML: структурные и поведенческие модели
Назначение языка, способы использования языка и его структура
Краткий обзор Case-средств
Пример работы в бесплатных онлайн- и офлайн- редакторах диаграмм. ООП и последовательность построения диаграмм
4
2 Use-case диаграммы
Назначение диаграммы прецедентов
Элементы и отношения
Пример анализа простой предметной области
Практика: анализ функциональных требований и построение диаграммы в реальной задаче
4
3 Диаграммы взаимодействия
Нотация
Пример построения диаграммы
Выгоды и проблемы при использовании диаграмм взаимодействия
4
4 Диаграммы классов
Классы, объекты, интерфейсы и отношения на диаграмме
Пример моделирования структуры программы
Автоматическая генерация ООП кода case-средствами
Шаблоны программирования (Design patterns)
Практика: анализ предметной области при помощи диаграммы классов
4
  Итого: 16

Модуль 6. «Программирование на языке Java. Java Core»

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

  • Java Core;
  • Java FX;
  • Maven.

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

Тема Часы
1 Абстракции
Повторение основ ООП. Аннотации. Переопределение методов.
Абстрактные классы. Интерфейсы. Проверка принадлежности объекта классу или интерфейсу. Анонимные классы и лямбда-выражения.
8
2 Обобщения
Обобщенные методы. Обобщенные классы. Обобщенные интерфейсы.
Пример обобщенного контейнера.
4
3 Коллекции
Списки. Ассоциативные массивы.
Типичные примеры применения.
Реализация в виде хэш-таблицы и дерева поиска.
8
4 Работа с базами данных
Обзор JDBC. Подключение библиотек драйверов. Выполнение запросов.
Клиентские курсоры.
4
5 Автоматизация сборки. Maven
Ад зависимостей. Структура проекта Maven. Архетипы.
Интеграция со средой разработки.
4
6 Графический интерфейс на основе JavaFX
Простое графическое приложение. Паттерн MVC. Построение и загрузка сцены в окно Контейнеры и контролы JavaFX. Обработчики кнопок и событий.
Наблюдаемые значения и метод AddListener.
10
7 Расширенные возможности JavaFX
Динамическое изменение представления. Использование компонента TableView. Форматирование CSS. Меню.
14
8 Многопоточное программирование
Параллельное программирование. Параллельные алгоритмы.
Потоки в операционной системе. Потоки Java. Проблемы общего доступа к памяти.
Идиома монитора. Методы wait, notify, notifyAll. Обзор java.util.concurrent.
8
  Итого: 60

Модуль 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. «Введение в Java.Spring»

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

  • Spring.Boot;
  • Hybernate;
  • Rest API.

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

Тема Часы
1 Введение в Spring MVC
Проекты и модули Spring
Аннотации. Простое веб-приложение
4
2 Разработка на Spring Boot 8
3 Фронтэнд
HTML, CSS, основы JavaScript. Шаблоны
8
4 Работа с данными
Замена JDBC при помощи ORM. Фреймворк Hybernate
4
5 REST API 4
6 Аутентификация и авторизация 4
7 Spring AOP
Аспектно-ориентированное программирование
JoinPoint. Weaving и Weaver. Advice
6
8 Интеграция с внешними сервисами 2
  Итого: 40

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

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

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

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

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

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

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

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

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

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

Модуль 3. «Алгоритмизация и основы ООП. Язык Java»

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

  • Работа с различными типами данных, операторами и функциями Java. Структурное программирование с разбиением на подпрограммы-функции;
  • Построение структур данных и решение алгоритмических задач;
  • Основы объектно-ориентированного программирования.

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

Тема Часы
1 Введение
Структура программы. Работа с интегрированной средой программирования.
Элементы языка. Типы данных. Описание переменных. Операции ввода-вывода.
Использование библиотечных функций. Соглашение об именах.
4
2 Операции
Арифметические и логические операции.
Операции присваивания и отношения.
Приоритеты и ассоциативность операций. Трассировка программы.
4
3 Операторы
Оператор-выражение и составной оператор. Операторы ветвления if-else, switch.
Операторы цикла – while, do-while и for. Использование операторов break, continue, и return. Практические задачи на вычисления с использованием циклов и ветвлений.
8
4 Массивы
Одномерные и многомерные массивы.
Декларация и размещение в памяти. Индексация.
Обращение к элементам массива. Алгоритмы с поэлементным обращением к массиву. Ввод и вывод.
6
5 Функции
Возвращение значения функцией. Аргументы и параметры. Рекурсия.
Перегрузка функций. Декомпозиция задачи при помощи функций.
10
6 Строки
Класс String и его свойства. Альтернативы: StringBuilder и StringBuffer.
Поиск и преобразование в строках. Понятие регулярного выражения.
4
7 Алгоритмы работы с массивами
Поиск и сортировка в массиве. Анализ вычислительной сложности.
Упорядочивание двумерных массивов по заданному шаблону. Задача «8 ферзей».
12
8 Структуры данных
Класс как структура. Размещение в памяти. Перечисления.
Применение структур и перечислений в решении задач.
8
9 Алгоритмы на графах
Введение в теорию графов. Способы представления графа.
Классические задачи и практическое применение.
4
10 Основы ООП
Инкапсуляция. Управление доступом. Статические и нестатические методы. Конструкторы. Наследование. Полиморфизм.
Обобщение как один из базовых принципов проектирования. Лестница абстракции.
8
11 Знакомство с коллекциями Java
Динамические структуры на данных на примере односвязного списка.
Другие динамические структуры данных.
Интерфейс Collection на практике: работа со списками, множествами, стеками.
4
12 Исключения
Обработка ошибок, классификация исключений
Перехват исключений, трассировка стека исключений.
4
13 Файловые операции
Понятие потока. Текстовые и бинарные файлы.
Основные способы чтения и записи текстовых файлов.
4
  Итого: 80

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

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

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

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

Тема Часы
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

Модуль 5. «UML. Технология программирования и моделирования программных систем»

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

  • Понимание назначения языка UML в современном программировании;
  • Понимание способов построения различных видов диаграмм UML;
  • Понимание выбора Case-средств при построении диаграмм.

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

Тема Часы
1 Введение в UML. Виды диаграмм
Бизнес-процессы, бизнес-модель и бизнес-аналитика
Информационная система и ее компоненты
Возможности языка UML: структурные и поведенческие модели
Назначение языка, способы использования языка и его структура
Краткий обзор Case-средств
Пример работы в бесплатных онлайн- и офлайн- редакторах диаграмм. ООП и последовательность построения диаграмм
4
2 Use-case диаграммы
Назначение диаграммы прецедентов
Элементы и отношения
Пример анализа простой предметной области
Практика: анализ функциональных требований и построение диаграммы в реальной задаче
4
3 Диаграммы взаимодействия
Нотация
Пример построения диаграммы
Выгоды и проблемы при использовании диаграмм взаимодействия
4
4 Диаграммы классов
Классы, объекты, интерфейсы и отношения на диаграмме
Пример моделирования структуры программы
Автоматическая генерация ООП кода case-средствами
Шаблоны программирования (Design patterns)
Практика: анализ предметной области при помощи диаграммы классов
4
  Итого: 16

Модуль 6. «Программирование на языке Java. Java Core»

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

  • Java Core;
  • Java FX;
  • Maven.

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

Тема Часы
1 Абстракции
Повторение основ ООП. Аннотации. Переопределение методов.
Абстрактные классы. Интерфейсы. Проверка принадлежности объекта классу или интерфейсу. Анонимные классы и лямбда-выражения.
8
2 Обобщения
Обобщенные методы. Обобщенные классы. Обобщенные интерфейсы.
Пример обобщенного контейнера.
4
3 Коллекции
Списки. Ассоциативные массивы.
Типичные примеры применения.
Реализация в виде хэш-таблицы и дерева поиска.
8
4 Работа с базами данных
Обзор JDBC. Подключение библиотек драйверов. Выполнение запросов.
Клиентские курсоры.
4
5 Автоматизация сборки. Maven
Ад зависимостей. Структура проекта Maven. Архетипы.
Интеграция со средой разработки.
4
6 Графический интерфейс на основе JavaFX
Простое графическое приложение. Паттерн MVC. Построение и загрузка сцены в окно Контейнеры и контролы JavaFX. Обработчики кнопок и событий.
Наблюдаемые значения и метод AddListener.
10
7 Расширенные возможности JavaFX
Динамическое изменение представления. Использование компонента TableView. Форматирование CSS. Меню.
14
8 Многопоточное программирование
Параллельное программирование. Параллельные алгоритмы.
Потоки в операционной системе. Потоки Java. Проблемы общего доступа к памяти.
Идиома монитора. Методы wait, notify, notifyAll. Обзор java.util.concurrent.
8
  Итого: 60

Модуль 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. «Введение в Java.Spring»

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

  • Spring.Boot;
  • Hybernate;
  • Rest API.

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

Тема Часы
1 Введение в Spring MVC
Проекты и модули Spring
Аннотации. Простое веб-приложение
4
2 Разработка на Spring Boot 8
3 Фронтэнд
HTML, CSS, основы JavaScript. Шаблоны
8
4 Работа с данными
Замена JDBC при помощи ORM. Фреймворк Hybernate
4
5 REST API 4
6 Аутентификация и авторизация 4
7 Spring AOP
Аспектно-ориентированное программирование
JoinPoint. Weaving и Weaver. Advice
6
8 Интеграция с внешними сервисами 2
  Итого: 40

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

очно

вебинар

Закрыть X

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

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

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

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