Програмування на Java (СО)

Тип: На вибір студента

Кафедра: інформаційних систем

Навчальний план

СеместрКредитиЗвітність
55Залік

Лекції

СеместрК-сть годинЛекторГрупа(и)
532доцент Бернакевич І. Є.ПМо-31

Лабораторні

СеместрК-сть годинГрупаВикладач(і)
532ПМо-31доцент Бернакевич І. Є.

Опис курсу

  1. Синтаксис мови Java. Основні лексеми мови Java. Огляд типів даних. Оператори.
  2. Об’єктно-орієнтований підхід до створення Java-програм. Оголошення класів. Специфікатори доступу. Використання ключових слів this та super. Конструктори та метод finalize(). Внутрішні класи (класи-члени, локальні класи, анонімні класи). Похідні класи та динамічна диспетчеризація методів. Інтерфейси та їх використання. Особливості створення пакетів.
  3. Обробка виняткових ситуацій. Типи виняткових ситуацій. Генерація та перехоплення винятків. Вбудовані виняткові ситуації. Створення власних класів виняткових ситуацій.
  4. Зберігання даних (колекції, алгоритми). Структура колекцій. Інтерфейси колекцій. Класи колекцій. Доступ до елементів колекцій через ітератор. Робота з картами. Компаратори. Основні алгоритми колекцій.
  5. Зберігання даних (узагальнення). Узагальнення. Використання шаблонних аргументів. Узагальнені класи, інтерфейси, методи. Ієрархії узагальнених типів. Обмеження шаблонів.
  6. Багатопотокове програмування та утиліти паралельного програмування. Модель потоку Java і його властивості. Створення потоку. Тіло потоку та його життєвий цикл. Пріоритети потоків. Потоки-демони. Синхронізація та взаємне блокування. Використання об’єктів синхронізації (семафорів, циклічних бар’єрів, та ін.). Паралельні колекції. Блокувальники.
  7. Потоки введення-виведення. Стандартні системні потоки введення-виведення (java.System.lang). Робота з файлами і каталогами. Ієрархія класів байтового (символьного) введення. Ієрархія класів байтового (символьного) виведення. Серіалізація об’єктів.
  8. Робота з графікою. Graphics 2D. Графічний контекст пристрою. Використання примітивної графіки. Робота зі шрифтами. Загальні принципи рисування з використанням Graphics 2D. Інтерфейс Shape. Рисування прозорих форм. Стилі рисування. Використання локальних шрифтів. Створення пера та його характеристики. Перетворення координат (зсув, масштабування, поворот).
  9. Обробка подій Java. Модель обробки подій в Java. Класи подій. Слухачі подій, їх методи та інтерфейси. Класи-адаптери.
  10. Програмування інтерфейсу користувача з використанням AWT. Стандартні компоненти та контейнери. Менеджери розміщення. Створення вікна застосування. Побудова меню. Діалогові вікна. Використання діалогових вікон для доступу до локальної файлової системи. Елементи пакету AWT та породжувані ними події.
  11. Програмування інтерфейсу користувача з використанням Swing. Особливості Swing-компонентів. Архітектура MVC. Типи контейнерів. Прості компоненти. Іконки, підказки, рамки. Лінійні регулятори. Текстові компоненти. Побудова меню. Створення панелі інструментів.
  12. Розширені компоненти Swing. Списки, дерева, таблиці та обробка подій. Використання моделі компонентів. Візуалізація компонентів.
  13. Основи JDВC. Архітектура JDBC. Класифікація драйверів JDBC. Конфігурація JDBC-драйвера. З’єднання з БД та налаштування його властивостей. URL бази даних. Передача інструкцій SQL. Попередньо відкомпільовані інструкції. Набори результатів та їх обробка. Обробка множинних результатів запиту. Отримання відомостей про набори результатів. Відповідність між типами SQL та Java. Метадані бази даних i та їх використання Управління помилками та попередженнями.
  14. Розширені засоби JDВC. Набори результатів із розширеними засобами перегляду. Оновлювані набори даних. Пакетні зміни в базі даних. Розширені типи даних. Набори записів, їх реалізація та управління ними. Збережені процедури, їх створення та виконання. Параметри IN та OUT. Іменування бази даних за допомогою JNDI. Розподілені транзакції. Управління транзакціями. Режими транзакцій та рівні ізоляції транзакцій.

Рекомендована література

Основна література

  1. Васильєв О. Програмування мовою Java. – Тернопіль: Навчальна книга – Богдан, 2020. – 696 c.
  2. Кеті Сьєрра, Берт Бейтс Head First. Java. Легкий для сприйняття довідник. – Харків: Фабула, 2022. – 720 c.
  3. Галкін О.В., Катеринич Л.О., Шкільняк О.С. Програмування на Java 8: Навчальний посібник для студентів факультету комп’ютерних наук та кібернетики. – К.: ЛОГОС, 2017. – 186 с.
  4. Кадомський К.К., Ніколюк П.К. Java. Теорія і практика. – Вінниця, 2018.- 198 c.
  5. Еванс Б., Кларк Д., Вербург М. The Well-Grounded Java Developer, Manning, 2023 – 704 с.
  6. Тарнавський Ю. А. Java-програмування: комп’ютерний практикум [Електронний ресурс]: навч. посіб. для студ. спеціальності 122 «Комп’ютерні науки». – Київ: КПІ ім. Ігоря Сікорського, 2021. – 95 с.

Допоміжна література

  1. Horstmann C. S. Core Java, Volume I: Fundamentals, 12th Edition, Addison-Wesley Professional, 2021.
  2. Horstmann C. S. Core Java, Vol. II-Advanced Features, 12th Edition, Oracle Press, 2022.
  3. Schildt H. Java: The Complete Reference, 12th Edition, McGraw-Hill, 2021.
  4. Deitel P., Deitel H. Java How to Program, Early Objects: 11th Edition, Pearson, 2017, 1296 p.

Deitel P., Deitel H. Java How To Program, Late Objects: 11th Edition, Pearson, 2017, 1248 p.

Силабус:

Завантажити силабус