Модуль 1. DSL (5 ак. ч.)
- Понятие предметно-ориентированного языка
- Лямбда-выражения с получателями
- Соглашение invoke
- Лабораторная работа: создание DSL мета-языка
Модуль 2. Многопоточное программирование (7 ак. ч.)
- Плюсы и минусы многопоточных приложениий
- Средства для управления многопоточностью
- Класс Thread и интерфейс Runnable
- Создание потоков
- Мониторы и синхронизация потоков
- Современные средства по управлению потоками (Executors, Fork/Join Framework)
- Новые потоки, безопасные коллекции и классы (ThreadLocalRandom, AtomicInteger и др.)
- Reactive streams
- Корутины
- Лабораторная работа: Потоки
- Лабораторная работа: Executors
- Лабораторная работа: Корутины
Модуль 3. Работа с базами данных (5 ак. ч.)
- SQL и NoSQL базы данных
- Язык SQL
- JDBC
- Hibernate
- Лабораторная работа: JDBC
- Лабораторная работа: Hibernate
Модуль 4. Пользовательский интерфейс (5 ак. ч.)
- Swing
- TornadoFX
Модуль 5. Web-приложения (4 ак. ч.)
- Сервлеты и JSP
- JSF
- Веб-сервисы
- Лабораторная работа: Создание сервлетов и JSP
- Лабораторная работа: Создание и вызов веб-сервиса
Модуль 6. Рефлексия (2 ак. ч.)
- Получение информации о классах, методах, полях
- Вызов методов через рефлексию
- Лабораторная работа: Рефлексия
Модуль 7. Введение в Android разработку (4 ак. ч.)
- Android Studio, эмулятор
- Пользовательский интерфейс
- Компоненты приложения
- Встроенные базы данных
- Вызов веб-сервисов