##Курс 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 и повторяем коллекции
- Повторяем коллекции
- Читаем про базы данных
- Решаем задачки