Силабус

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

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

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

Силабус

1. Освітні програми, для яких дисципліна є обов’язковою:

# Рівень освіти Галузь знань Спеціальність Освітня програма Курс(и) Семестр(и)
1 бакалавр 12. Інформаційні технології 121. Інженерія програмного забезпечення (бакалавр) 2 3

2. Дисципліна пропонується як вибіркова для усіх рівнів вищої освіти і усіх освітніх програм.

3. Інформація про автора курсу

Прізвище, ім'я та по батькові Михалик Дмитро Михайлович
Науковий ступінь канд. техн. наук
Вчене звання доцент
Посилання на сторінку викладача(ів) на офіційній веб-сторінці університету http://library.tntu.edu.ua/personaliji/a/m/myhalyk-dmytro-myhajlovych/
Е-mail (в домені tntu.edu.ua)

4. Інформація про навчальну дисципліну

Розподіл аудиторних годин Лекції: 32
Практичні заняття: 0
Лабораторні заняття: 32

Кількість годин самостійної роботи: 56
Кількість кредитів ECTS: 4,0
Мова викладання українська
Вид підсумкового контрою екзамен
Посилання на електронний навчальний курс у СЕН університету ATutor https://dl.tntu.edu.ua/bounce.php?course=1176

5. Програма навчальної дисципліни

Опис навчальної дисципліни, її мета, предмет вивчання та результати навчання

Мета вивчення навчальної дисципліни «Java-технології в проєктуванні програмного забезпечення» ознайомлення студентів із сучасними методиками проектування, що застосовуються в програмній інженерії на прикладі мови програмування Java. Розглядаються питання застосування абстрактних класів та інтерфейсів при розробці програмного забезпечення, використання сучасним методик обробки винятковий ситуація, для написання відмовостійкого програмного коду, засобів забезпечення розпаралелених багатопотокових обчислень та методів їх синхронізації, а також основи побудови графічного інтерфейсу користувача.
Знання, вміння та навички, отримані студентами під час вивчення даної дисципліни будуть базовими для подальшого поглибленого вивчення методів та принципів програмування, пов’язаних з конструювання програмного забезпечення, роботою із базами даних, та розробкою програмного забезпечення корпоративного рівня.
Завданням лекційних занять є ознайомлення студентів з мовою програмування Java та вивчення її можливосте при реалізації програмних проектів.
Завдання лабораторних занять полягає у практичному засвоєнні студентами лекційного матеріалу.

Місце дисципліни в структурно-логічній схемі навчання за освітньою програмою

Перелік дисциплін, або знань та умінь, володіння якими необхідні студенту (вимоги до рівня підготовки) для успішного засвоєння дисципліни

Основи програмування
ООП
Алгоритми та структури даних

Перелік дисциплін які базуються на результатах навчання з даної дисципліни

Бази даних
Конструювання програмного забезпечення
Технології JEE

Зміст навчальної дисципліни

Лекційний курс (формулювання тем)

Змістовний модуль 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. Програмування графіки

Навчальні матеріали та ресурси

Базова
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с.

6. Політика та контроль навчальної дисципліни (освітнього компонента)

Види контролю та рейтингова система оцінювання результатів навчання

Оцінка якості засвоєння навчальної дисципліни включає поточний контроль успішності та модульний контроль, зокрема методи тестового контролю та самоконтролю, а також методи лабораторного контролю і методи лабораторного самоконтролю.
Поточний контроль знань студентів здійснюється шляхом періодичного контролю за виконанням лабораторних робіт та здачі модулів.
Для модульного контролю засвоєння студентами навчального матеріалу, що вивчається під час аудиторних занять і самостійної роботи, передбачено проведення тестування за допомогою засобів електронного навчання в системі ATutor.


Таблиця відповідності рейтингових балів оцінкам за університетською шкалою:

Шкала оцінок
ВНЗ
(100-бальна)
Національна
(4-бальна)
ECTS
90-100 Відмінно А
82-89 Добре B
75-81 C
67-74 Задовільно D
60-66 E
35-59 Незадовільно FX
1-34 F
Затверджено рішенням кафедри
(протокол №
від «
»
року).