Курс Java
Введение в Java
Знакомство с Java(JDK, JVM, JRE, почему Java актуальна?)
Знакомство со средой разработки (IDE), структура программы в Java, лексические основы
Переменные, типы данных (элементарные типы, преобразование типов), выражения
Условные операторы(If, if-else, Операторы сравнений)

Циклы. Функции. Массивы и хэши
Циклы (While, do-while, for, for-each, операторы continue и break, метки)
Знакомство со String (методы и т.д.)
Класс Math (его методы, генерация псевдослучайных чисел)
Функции
Массивы и хэши( одномерные, многомерные, заполнение, сортировка)
Классы, методы, конструкторы, поля
Класс (объяснение, общая форма, создание объектов, оператор new, поля, методы, присваивание объектных ссылок)
Тип возвращаемого значения
Параметры метода
Методы Set-Get
Конструкторы (различия, ключевое слово this и super)
Области видимости (сокрытие полей и методов)
Сборка мусора
Перегрузка конструкторов
Рекурсия
Ключевые слова static и final
Массивы объектов
Классы-оболочки
Автоупаковка-распаковка
Нумерованные типы
Регулярные выражения
Введение в ООП
Введение в объектно-ориентированное программирование
Инкапсуляция, наследование, полиморфизм
Понятие интерфейса и абстрактного класса
Внутренние классы
Анонимные классы
Ассоциация и агрегация

Обработка исключительных ситуаций
Исключения(Типы)
try-catch
Throw, throws, finally
Организация классов в Java
Пакеты
Понятие classpath и работа с ним при компиляции и интерпретации
Коллекции
Структуры данных в Java
Универсальные методы и интерфейсы
Ошибки неоднозначности
ООП в иерархии коллекций Java
Итераторы, сортировка. Введение в generics
GC
Работа в команде. Git
Как устроен Git. Создание репозитория. Сommit
Создание веток. Мерж веток. Gitignore
Git flow. Pull request
Конфликты, как их исправлять
Java EE
Request, response
Servlets
XML
HTML
JSP
HTTP
Localhost
Maven
Hibernate
Tomcat
Java Spring
Знакомство с Java Spring
Курсовой проект
Создание курсового проекта
Защита курсового проекта
Разбор вопросов собеседований
Экзамен