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