Skip to content

Java courses materials and resources for group 2-2106

Notifications You must be signed in to change notification settings

StanislavPugach/courses-2-2016

Repository files navigation

##Курс Java

Содержание курса:

1. Введение в JAVA

  • Введение. Цели курса
  • Краткая история языка и его характерные особенности
  • Первая программа на JAVA, компиляция и исполнение
  • Установка и настройка среды
  • Основные типы данных и их использование
  • Комментарии
  • Система контроля версий Git
  • Обзор источников и ресурсов для самообразования

ДЗ #1:

  • Организационные вопросы
  • Установка и настройка среды
  • Найти литературу и необходимые источники данных
  • Прочитать вступление

2. Основы языка Java

  • Основные определения и понятия
    • Переменные
    • Операции
    • Классы и объекты
    • Поля
    • Конструкторы
    • Методы
    • Интерфейсы
    • Пакеты
  • Синтаксис Java файлов
  • Переменные
  • Типы данных
  • Базовые операции

ДЗ #2:

  • Git
  • Реализация простейших алгоритмов
  • Java code conventions

3. Методы, калькулятор

  • Методы
    • Что такое метод
    • Минимальные требования к методу
    • Компоненты метода
    • Как называть методы
    • Зачем нужны методы
    • Перегрузка методов
    • Параметры метода
    • Возврат значения из метода
  • Консольный калькулятор

ДЗ #3

  • Читаем про методы и ООП
  • Реализуем калькулятор

4. Домашки + практика

ДЗ #4

5. Введение в ООП

  • Объектно-ориентированное программирование (ООП)
  • Понятие класса и основыне приципы ООП
  • Отношение между классами
  • Создание собственного класса
  • Методы доступа к данным класса
  • Статические поля и методы
  • Константы
  • Блок инициализации
  • Создание объектов и конструкторы
  • Пакеты

ДЗ #5

6. Инкапсуляция и наследование

  • Пакеты
  • Инкапсуляция
  • Наследование

ДЗ #6

7. Полиморфизм

  • Переопределение методов при наследовании
  • Полиморфное поведение
  • Абстрактный класс
  • Интерфейс

ДЗ #7

8. Практика ООП

  • Реализация консольной рулетки

ДЗ #8

9. Исключения

  • Что такое Exception
  • Зачем нужны исключения
  • Иерархия исключений
  • Checked и unchecked
  • Создание исключения
  • Обработка исключений

ДЗ #9

10. Введение в модель памяти и сборку мусора

11. Коллекции в Java

  • Зачем нужны и в чем преимущества коллекций
  • Иерархия коллекций
  • Iterable
  • Iterator
  • Collection
  • List
  • Queue
  • Set
  • Map

ДЗ #11

  • Читаем о коллекциях
  • Пишем анализатор текста

12. Обобщения

  • Что такое обощения(generics)
  • Обощение в коллекциях
  • Обобщенные классы
  • Обощенные методы
  • Ограничения переменной типа
  • Обощения и JVM
  • Подчистка и трансляция
  • Wildcards

ДЗ #12

  • Пишем свою реализацию связного списка

13. Разбираем ДЗ #7 и повторяем ООП

ДЗ #13

  • Повторяем ООП
  • Решаем задачки
  • Читаем про базы данных

14. Разбираем ДЗ #11 и повторяем коллекции

ДЗ #14

  • Повторяем коллекции
  • Читаем про базы данных
  • Решаем задачки

15. Базы данных

  • ER-модель
  • Реляционные базы данных
  • SQL
  • Типы данных
  • DDL
  • DML

ДЗ #15

  • Читаем о базах данных
  • Устанавливаем MySQL и клиентскую программу
  • Пишем и пробуем запускать простейшией SQL-запросы

16. Joins и JDBC

  • Joins
    • Inner
    • Left
    • Right
    • Full
    • Cross
  • Транзакционность
  • JDBC
    • Обзор
    • Driver
    • Connection
    • Statement
    • Result Set
    • Batch Update
    • Transactions

ДЗ #16

  • Читаем о JDBC
  • Пишем приложение, которое использует JDBC

17. Практика. Разбор ДЗ #16

ДЗ #17

  • Исправляем коментарии

18. Сервлеты

  • Что такое Servlet
  • HTTP
  • Servlet контейнер
  • Жизненный цикл сервлетов
  • Пример
  • GenericServlet
  • HttpServlet
  • HttpServletRequest, HttpServletResponse
  • Параметры, тело, заголовки, coockies
  • Filter
  • web.xml

ДЗ #18

  • Пишем маленькое web-приложение

19. Рефлексия

ДЗ #19

  • Пишем приложение для работы с аннотациями

20. Юнит тестирование

  • Что такое unit тестирование
  • Зачем нужны unit тесты
  • Фреймворки для юнит тестирования в Java
  • Пример
  • Junit и его API
  • Интеграционные тесты
  • TDD

ДЗ #20

  • Пишем кредитный калькулятор и покрываем его тестами

21. Многопоточность I

ДЗ #21

  • Пишем приложение "шарики"

22. Многопоточность II

ДЗ #21

  • Пишем приложение "шарики"

23. Практика

ДЗ #23

  • Улучшаем приложение "шарики"

24. ООД и паттерны

25. Build tools

  • Ant
  • Maven
  • Gradle

ДЗ #25

  • Настраиваем билды для каждого из build tool для модуля 18.

26. Введение в ORM и JPA

  • SQL или нет
  • Минусы подхода с SQL
  • Премущества ORM
  • Схема работы ORM
  • JPA

27. Hibernate

  • Hibernate как JPA провайдер
  • Базовая конфигурация
  • Setup JPA
  • Entity
  • Аннотации
  • Работа с Entity

ДЗ #27

  • Реализовать приложение для управления переводами между банковскими счетами.

28.Spring Ioc

  • Coupling
  • Сohesion
  • Loose Coupling + High Сohesion
  • Inversion of Control
  • Dependency Injection
  • Преимущества DI
  • Spring
  • Spring IoC
    • Конфигурация
    • Bean
    • Контекст
    • Constructor injection
    • Setter injection
    • Properties
    • Lists
    • Maps
    • Factory

29. Spring MVC

  • Servlets
  • Web фреймворки
  • Почему Spring MVC?
  • Model-View-Controller(MVC) паттерн
  • Front Controller
  • DispatcherServlet
  • Конфигурация - web.xml
  • Spring context - application-servlet.xml
  • Аннотации
    • Component
    • Controller
    • Autowired
    • Qualifier
  • Простой контроллер
  • Mapping
    • Request Method
    • PathVariable
    • Добавление маппинга на контроллер
    • Сonsumes и Produces
  • Редирект и валидация

About

Java courses materials and resources for group 2-2106

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages