Курс Java
Введение в Java
Знакомство с Java
Переменные, типы данных, выражения
Условные операторы

Циклы. Функции. Массивы и хэши
Циклы
Функции
Массивы и хэши
Знакомство с try
Введение в ООП
Введение в объектно-ориентированное программирование.
Инкапсуляция, наследование, полиморфизм.
Понятие интерфейса.
Ассоциация и агрегация.
Классы, методы, конструкторы, поля
Наследование.
Интерфейсы, реализация интерфейсов.
Инкапсуляция, наследование, полиморфизм в Java на практике.
Организация классов в Java
Пакеты.
Понятие classpath и работа с ним при компиляции и интерпретации.

Коллекции
Структуры данных в Java.
ООП в иерархии коллекций Java.
Итераторы, сортировка. Введение в generics.
GC

Работа в команде. Git
Как устроен Git. Создание репозитория. Сommit
Создание веток. Мерж веток. Gitignore
Git flow. Pull request
Конфликты, как их исправлять

Web
HTTP
TCP/IP
Сессии. Куки
Java Spring
Знакомство с Java Spring.
Spring IoC
Spring MVC
Spring Data
Паттерны проектирования
Порождающие паттерны
Структурные паттерны
Поведенческие паттерны

Java 8
Лямбда
Стримы
Функциональные интерфейсы
Статические и дефолтные методы

Курсовой проект
Создание курсового проекта
Защита курсового проекта
Экзамен