##Курс Java
Содержание курса:
1. Введение в JAVA
- Введение. Цели курса
- Краткая история языка и его характерные особенности
- Первая программа на JAVA, компиляция и исполнение
- Установка и настройка среды
- Основные типы данных и их использование
- Комментарии
- Система контроля версий Git
- Обзор источников и ресурсов для самообразования
- Организационные вопросы
- Установка и настройка среды
- Найти литературу и необходимые источники данных
- Прочитать вступление
2. Основы языка Java
- Основные определения и понятия
- Переменные
- Операции
- Классы и объекты
- Поля
- Конструкторы
- Методы
- Интерфейсы
- Пакеты
- Синтаксис Java файлов
- Переменные
- Типы данных
- Базовые операции
- Git
- Реализация простейших алгоритмов
- Java code conventions
3. Методы, калькулятор
- Методы
- Что такое метод
- Минимальные требования к методу
- Компоненты метода
- Как называть методы
- Зачем нужны методы
- Перегрузка методов
- Параметры метода
- Возврат значения из метода
- Консольный калькулятор
- Читаем про методы и ООП
- Реализуем калькулятор
4. Домашки + практика
5. Введение в ООП
- Объектно-ориентированное программирование (ООП)
- Понятие класса и основыне приципы ООП
- Отношение между классами
- Создание собственного класса
- Методы доступа к данным класса
- Статические поля и методы
- Константы
- Блок инициализации
- Создание объектов и конструкторы
- Пакеты
6. Инкапсуляция и наследование
- Пакеты
- Инкапсуляция
- Наследование
7. Полиморфизм
- Переопределение методов при наследовании
- Полиморфное поведение
- Абстрактный класс
- Интерфейс
8. Практика ООП
- Реализация консольной рулетки
9. Исключения
- Что такое Exception
- Зачем нужны исключения
- Иерархия исключений
- Checked и unchecked
- Создание исключения
- Обработка исключений
10. Введение в модель памяти и сборку мусора
11. Коллекции в Java
- Зачем нужны и в чем преимущества коллекций
- Иерархия коллекций
- Iterable
- Iterator
- Collection
- List
- Queue
- Set
- Map
- Читаем о коллекциях
- Пишем анализатор текста
12. Обобщения
- Что такое обощения(generics)
- Обощение в коллекциях
- Обобщенные классы
- Обощенные методы
- Ограничения переменной типа
- Обощения и JVM
- Подчистка и трансляция
- Wildcards
- Пишем свою реализацию связного списка
13. Разбираем ДЗ #7 и повторяем ООП
- Повторяем ООП
- Решаем задачки
- Читаем про базы данных
14. Разбираем ДЗ #11 и повторяем коллекции
- Повторяем коллекции
- Читаем про базы данных
- Решаем задачки
15. Базы данных
- ER-модель
- Реляционные базы данных
- SQL
- Типы данных
- DDL
- DML
- Читаем о базах данных
- Устанавливаем MySQL и клиентскую программу
- Пишем и пробуем запускать простейшией SQL-запросы
16. Joins и JDBC
- Joins
- Inner
- Left
- Right
- Full
- Cross
- Транзакционность
- JDBC
- Обзор
- Driver
- Connection
- Statement
- Result Set
- Batch Update
- Transactions
- Читаем о JDBC
- Пишем приложение, которое использует JDBC
17. Практика. Разбор ДЗ #16
- Исправляем коментарии
18. Сервлеты
- Что такое Servlet
- HTTP
- Servlet контейнер
- Жизненный цикл сервлетов
- Пример
- GenericServlet
- HttpServlet
- HttpServletRequest, HttpServletResponse
- Параметры, тело, заголовки, coockies
- Filter
- web.xml
- Пишем маленькое web-приложение
19. Рефлексия
- Пишем приложение для работы с аннотациями
20. Юнит тестирование
- Что такое unit тестирование
- Зачем нужны unit тесты
- Фреймворки для юнит тестирования в Java
- Пример
- Junit и его API
- Интеграционные тесты
- TDD
- Пишем кредитный калькулятор и покрываем его тестами
21. Многопоточность
- Пишем приложение "шарики"