Syllabus

Оберіть спеціальність*

Тернопільський національний технічний університет імені Івана Пулюя

Факультет комп'ютерно-інформаційних систем і програмної інженерії

Кафедра програмної інженерії

Java-технології в проєктуванні програмного забезпечення

картка навчальної дисципліни

Спеціальність 121 - Інженерія програмного забезпечення (бакалавр)
Галузь знань 12 Інформаційні технології
Освітній рівень бакалавр
Навчальна дисципліна
Статус навчальної дисципліни вибіркова
професійної підготовки
Курс початку вивчення дисципліни 2
Семестри 3
Форма навчання денна
Розподіл аудиторних годин
32– лекції
32– лабораторні заняття
Кількість годин самостійної роботи 56
Кількість кредитів ECTS 4,0
Вид підсумкового контрою екзамен
Лектор
Науковий ступінь канд. техн. наук
Вчене звання доц.
Прізвище, ім'я та по батькові Михалик Дмитро Михайлович
Вступні вимоги (базові дисципліни)
Основи програмування
ООП
Алгоритми та структури даних 
Мета та завдання навчальної дисципліни
Мета вивчення навчальної дисципліни «Java-технології в проєктуванні програмного забезпечення» ознайомлення студентів із сучасними методиками проектування, що застосовуються в програмній інженерії на прикладі мови програмування Java. Розглядаються питання застосування абстрактних класів та інтерфейсів при розробці програмного забезпечення, використання сучасним методик обробки винятковий ситуація, для написання відмовостійкого програмного коду, засобів забезпечення розпаралелених багатопотокових обчислень та методів їх синхронізації, а також основи побудови графічного інтерфейсу користувача.
Знання, вміння та навички, отримані студентами під час вивчення даної дисципліни будуть базовими для подальшого поглибленого вивчення методів та принципів програмування, пов’язаних з конструювання програмного забезпечення, роботою із базами даних, та розробкою програмного забезпечення корпоративного рівня.
Завданням лекційних занять є ознайомлення студентів з мовою програмування Java та вивчення її можливосте при реалізації програмних проектів.
Завдання лабораторних занять полягає у практичному засвоєнні студентами лекційного матеріалу. 
Опис навчальної дисципліни
Лекційний курс Змістовний модуль 1. Основи мови Java
Тема 1. Мова Java
Що таке Java. Особливості Java 2.0. Відмінності між Java та С++. Приклад програми на мові Java.
Тема 2. Класи та інтерфейси
Класи. Наслідування. Абстрактні класи та інтерфейси
Тема 3. Обробка виняткових ситуацій
Класифікація виняткових ситуацій. Оператор throw. Обробка виняткових ситуацій. Ключове слово finally. Власні виключення. Як використовувати виключення
Тема 4. Колекції
Відділення інтерфейсів від реалізації в колекціях. Інтерфейс Collection. Стандарті колекції в Java. Карта властивостей
Тема 5. Система вводу/виводу
Потоки даних (stream). Серіалізація об’єктів. Класи Reader і Writer. Ротоба з файловою системою
Тема 6. Багатопоточність
Базові класи для роботи з потоками. Властивості потоків. Синхронізація. Для чого необхідна синхронізація. Блокування. Ключове слово synchronized, Методи wait(), notify(), notifyAll())
Змістовний модуль 2– Графічний інтерфейс та Розширені можливості мови Java
Тема 7. Концепція графічних компонентів
Створення фреймів. Відображення інформації на панелі. Двовимірна графіка. Робота з кольором.
Тема 8. Обробка подій
Загальні відомості про обробку подій. Ієрархія подій в AWT. Генерація та обробка подій.
Тема 9. Компоненти Swing
Архітектура MVC. Ввід тексту. Вибір варіантів. Меню. Розширені засоби компонування. Діалогові вікна
Тема 10. Вкладені та параметризовані класи
Вкладені (nested) класи та інтерфейси. Внутрішні (inner) класи. Локальні (local) класи. Анонімні (anonimous) класи. Поняття параметризованох (generic) класів. Подова параметризованих класів. Використання класів.
Тема 11. Взаємодія з іншими мовами програмування
JNI (Java Native Interface). Звернення до native-методів. Підготовка native-методу. Виклик методів класу із native-коду
Лабораторний практикум 1. Порівняння мови програмування С++ та Java на прикладі реалізації алгоритму “Решето Ератосфена”
2. Класи
3. Інтерфейси, масиви та виключні ситуації
4. Колекції
5. Ввід/вивід
6. Багатопоточні програми та синхронізація процесів
7. Розробка графічного інтерфейсу користувача
8. Програмування графіки
Критерії оцінювання
Оцінка якості засвоєння навчальної дисципліни включає поточний контроль успішності та модульний контроль, зокрема методи тестового контролю та самоконтролю, а також методи лабораторного контролю і методи лабораторного самоконтролю.
Поточний контроль знань студентів здійснюється шляхом періодичного контролю за виконанням лабораторних робіт та здачі модулів.
Для модульного контролю засвоєння студентами навчального матеріалу, що вивчається під час аудиторних занять і самостійної роботи, передбачено проведення тестування за допомогою засобів електронного навчання в системі ATutor. 
Рекомендована література
Базова
1. Хорстман К., Корнелл Г. Java 2. том І. Основи. Восьмое издание – М.: Изд-ий дом “Вильямс”, 2008. – 896 с.
2. Еккель Б. Філософія Java. Бібліотека програміста. – СПб.:Питер, 2009. – 640с.
3. Шилдт Г. Swing Руководство для начинающих: пер. с. англ. – М.: Изд-ий дом “Вильямс”, 2007.-704 с.
Допоміжна
4. Шилдт Г. Искутсво програмирования на Java. – М.: Изд-ий дом “Вильямс”, 2005. – 366с.
5. Фленаган Д. Java, справочник. – СПб.:Символ-Плюс, 2004. – 1040 с.
6. Вязовик Н.А. Програмирований на Ява. – М.: ИНТУИТ.РУ, 2003. – 592 с.
7. В. Монахов Язык программирования Java и среда NetBeans . БХВ-Петербург 640с. 
Укладач курсу
канд. техн. наук, доц. Михалик Дмитро Михайлович 
Дата останнього оновлення: 2020-11-11 12:19:51