Часть I Технологии программирования - 50 ак.часов
Модуль 1. Технологии программирования
В этом модуле раскрываются технологии программирования, этапы разработки программного обеспечения (ПО).
Уроки
Модуль 2. Алгоритмы
В этом модуле раскрываются основные понятия теории алгоритмов, описываются способы описания и создания алгоритмов.
Уроки
Практическое занятие: Реализация алгоритмов
Модуль 3 Сортировка и поиск данных
В этом модуле объясняется, с помощью каких алгоритмов можно выполнять сортировку и поиск данных.
Уроки
Практическое занятие: Организация сортировки и поиска данных
Модуль 4. Типизация и структуры данных
В этом модуле объясняются понятие типа, виды типизации и структур данных.
Уроки
Практическое занятие: Реализация структур данных
Модуль 5. Основные парадигмы программирования
В этом модуле описываются парадигмы программирования.
Уроки
Практическое занятие: Реализация алгоритмов в зависимости от парадигмы программирования
Модуль 6. Визуальное моделирование при анализе и проектировании. Основы Unified Modeling Language (UML)
В этом модуле описывается возможность применения визуального моделирования в процессе разработки и эволюции ПО, а также в различных видах деятельности по его созданию.
Уроки
Практическое занятие: Разработка модели сложной информационной системы
Модуль 7. Основные диаграммы UML
В этом модуле объясняется, как создаются основные диаграммы.
Уроки
Практическое занятие: Разработка диаграмм
Модуль 8. Работа с GitHub
В этом модуле рассматривается использование сервиса для совместной работы.
Уроки
Практическое занятие:
Часть II Программирование на Java (базовые возможности) - 65 ак.часов
1. Введение. IDE. Типы данных
2. Классы, объекты, модификаторы доступа, базовый синтаксис
3. Статические и нестатические блоки, поля и методы, final
4. Git, циклы for и forEach
5. Алгоритмы и структуры данных, массивы
6. String, StringBuilder, StringBuffer
7. ООП. Абстрактные классы и интерфейсы
8. Внутренние, вложенные и анонимные классы. SOLID
9. Исключения. Debugger
10. Коллекции. Generics
11. Работы с чтением и записью файлов
12. Паттерны проектирования (Factory, Builder, Prototype...)
13. Работа с датой и временем
14. Лямбда выражения
15. Функциональное программирование
16. Многопоточность
Часть III Основы разработки БД - 35 ак.часов
1. Введение в базы данных
Основы реляционных баз данных. СУБД. Основные компоненты. Таблицы.
2. Нормализация баз данных
Приведение к 3NF, денормализация, индексы
3. Обеспечение целостности данных
Отношения, целостность данных, типизация, реализация ограничений
4. Знакомство с СУБД PostgreSQL, синтаксис и операторы PL/pgSQL
История и развитие СУБД PostgreSQL, характеристики, архитектура, IDE pgAdmin
5. Создание баз данных, проектирование таблиц, настройка индексов
Концепции файлов БД, страницы, журнал предзаписи, объекты БД, табличные пространства,
типизация, постоянные и временные таблицы, механизм индексирования PostgreSQL
6. Основы SQL-запросов (DDL/DML/DCL), представления
Извлечение, вставка, обновление, удаление, слияние данных, типы соединений,
построение представлений
7. Функции, хранимые процедуры и триггеры
Условные выражения, циклы, операторы, встроенные и пользовательские функции, перегрузка,
защита от внедрений, обработка ошибок, реализация хранимых процедур и триггеров
8. Обзор NoSQL СУБД
Обзор и основные подходы в работе с NoSQL базами данных. Neo4j/MongoDB
Часть IV Программирование на Java (расширенные возможности) - 40 ак.часов
проводится преподавателями - представителями IT индустрии
1. Http, REST, JSON, Spring Initializr
2. SpringBoot. Maven. Структура проекта. Контроллеры
3. Аннотации. Сервисы
4. Spring Jpa. PostgreSQL
5. Пагинация, сортировка фильтрация. HQL dialect
6. Swagger-UI. Конфигурационные классы. Обработка исключений
7. Модульное тестирование. JUnit, Mockito, SpringBootTest
8. Spring Security, JWT Token
9. Docker и Kafka (базовые понятия)
Часть V Работа над проектом - 60 ак.часов
Программа может корректироваться