csbc-edu.github.io
Java-програмування
IІ семестр 2019-2020 н. р.
Викладач: Станіслав Віталійович Марченко
Курс викладається 1 семестр: 14 лекцій (28 годин), 14 практичних (28 годин). Форма контролю -
залік
Дата
Слайди
Домашня робота
Матеріали
Огляд курсу
;
Інструкція з оформлення звіту
12.02.
Тема 01. Вступ до програмування мовою Java
Java як мова та платформа
;
Базові типи даних у мові Java
;
Лексичні основи мови програмування Java
;
Управління ходом виконання Java-програм
;
Основи роботи з винятками та твердженнями
Практична робота 01
Первинне налаштування проєкту
19.02.
Тема 02. Інкапсуляція та взаємодія класів у Java-додатках
Об'єктна модель Java
;
Посилальні типи даних для математичних обчислень
;
Рядки та масиви як посилальні типи даних
;
Інкапсуляція та приховування інформації в Java
;
Огляд відношень між класами. Генералізація
;
Інші відношення між класами
Практична робота 02
28.02.
Тема 03. Поліморфізм, інтерфейси та узагальнене програмування
Поліморфізм. Зміна форми
;
Інтерфейси та їх реалізація
;
Узагальнені типи в мові Java
;
Лямбда-вирази та функціональні типи (чорновик)
Практична робота 03
11.03.
Тема 04. Принципи побудови та тестування об'єктно-орієнтованого коду
Створення та використання анотацій у коді
;
Вступ до модульного тестування. Фреймворк JUnit (чорновик)
;
Приклад розробки через тестування
Практична робота 04
Принципи SOLID
;
Вебінар по SOLID на Java
;
SOLID у мові Java
;
Теорія до питання 4.2
30.03.
Тема 05. Колекції та класичний ввід-вивід
Архітектура Collections Framework
;
Поширені структури даних з Collections Framework (чорновик)
;
Файловий ввід-вивід у мові програмування Java (чорновик)
;
Робота з потоками вводу-виводу, райтерами та рідерами (чорновик)
Практична робота 05
Функціональні операції з колекціями
13.04
Тема 06. Програмування Java-додатків з підтримкою багатопоточності
Основи реалізації потоків у Java Threads API
;
Низькорівнева синхронізація потоків
;
Використання екзекуторів при розробці багатопоточних додатків
;
Синхронізатори з Java Concurrency Utilities
;
Огляд інших елементів Concurrency Utilities Framework (чорновик)
Практична робота 06
Керівництво по Fork/Join Framework у Java
30.04.
Тема 07. Асинхронне виконання коду за допомогою стрімів
Практична робота 07
Детальний огляд Java Streams (rus)
Детальний огляд Java Streams (eng)
Роадмап для вивчення RxJava
A Complete Guide To Learn RxJava
Как создать Spring Boot веб-приложение в Intellij IDEA Community Editon