Розробка мобільного програмного забезпечення

Вибіркова дисципліна
Навчальна дисципліна професійної підготовки
Обсяг освітнього компонента: 
• у кредитах ЄКТС — 4.5.
Кількість аудиторних занять: 
Лекційних занять - 15, лабораторних занять 7.
Самостійна робота: 
91 година.
Семестровий контроль: 
Залік.
Освітню компоненту забезпечує: 
Анотація: 

Анотація навчальної дисципліни

Мета вивчення дисципліни: формування комплексних теоретичних знань та практичних навичок у сфері проєктування, розробки та підтримки мобільних додатків. Дисципліна спрямована на ознайомлення студентів з платформою мобільної розробки Android, а також з сучасними інструментами та технологіями, які застосовуються в мобільній індустрії. Крім того, дисципліна спрямована на освоєння архітектурних особливостей та життєвого циклу мобільних додатків на платформі Android, вивчення мови програмування Kotlin та освоєння принципів та методик проектування зручних та функціональних інтерфейсів користувача для мобільних додатків.
Практичне значення та використання отриманих знань: Здатність розробляти мобільні додатки для платформи Android з використанням різних інструментів та мов програмування, таких як Java та Kotlin. Розуміння принципів та можливостей мобільних API та сервісів, таких як камера, GPS, датчики руху, платіжні системи тощо, і їх використання для розширення функціональності мобільних додатків. Вміння створювати ефективний та зручний інтерфейс користувача для мобільних додатків, відповідно до принципів UX/UI дизайну та вимог користувачів.

Тематика та види навчальних занять
1 тиждень.
Лекція 1 «Вступ до розробки на Android: Огляд екосистеми Android, новітні функції Android Studio та Android Jetpack».

2 тиждень. 
Лекція 2 «Основи Kotlin для Android: Введення в Kotlin, основні концепції мови, корутини для асинхронного програмування».
Лабораторне заняття 1 «Розробка простого додатку з використанням Jetpack Compose».

3 тиждень. 
Лекція 3 «Modern Android Development (MAD): Використання Kotlin DSL для Gradle, KTS скриптів, огляд KSP (Kotlin Symbol Processing)».

4 тиждень. 
Лекція 4 «Jetpack Compose: Основи декларативного UI, створення інтерфейсів з використанням Compose, управління станом».
Лабораторне заняття 2 «Робота з навігацією та передачею даних у Jetpack Compose».

5 тиждень. 
Лекція 5 «Архітектура додатків на Android: Огляд архітектурних шаблонів (MVVM, MVI), використання Jetpack Architecture Components (ViewModel, LiveData, Room)».

6 тиждень. 
Лекція 6 «Навігація та маршрутизація в додатках: Використання Jetpack Navigation Component для управління навігацією у додатках».
Лабораторне заняття 3 «Використання ViewModel та LiveData для реалізації MVVM архітектури».

7 тиждень. 
Лекція 7 «Управління залежностями: Введення в Dependency Injection з Hilt або Koin, управління залежностями у проекті».
Отримання завдання на розрахунково-графічну роботу
Модульна контрольна робота 1.

8 тиждень. 
Лекція 8 «Робота з даними та мережею: Основи Room для роботи з базами даних, Retrofit для мережевих запитів, обробка JSON з Moshi або Gson».
Лабораторне заняття 4 «Робота з базами даних за допомогою Room».
Виконання розрахунково-графічної роботи

9 тиждень. 
Лекція 9 «Модернізація асинхронної роботи: Корутини та Flow для ефективної асинхронної роботи та управління потоками даних».
Виконання розрахунково-графічної роботи

10 тиждень. 
Лекція 10 «Тестування на Android: Основи юніт-тестування з JUnit, інтеграційне тестування з Espresso та UI тестування з Compose».
Лабораторне заняття 5 «Реалізація асинхронних операцій з використанням Kotlin Coroutines».
Виконання розрахунково-графічної роботи

11 тиждень. 
Лекція 11 «Розширені можливості інтерфейсу: Анімації в Jetpack Compose, кастомні віджети, використання Material Design компонентів».
Захист розрахунково-графічної роботи

12 тиждень. 
Лекція 12 «Безпека додатків на Android: Шифрування даних, безпечне зберігання паролів, робота з дозволами, захист від загальновідомих уразливостей».
Лабораторне заняття 6 «Розробка додатку з використанням Firebase (Аутентифікація та бази даних Firestore)».
Захист розрахунково-графічної роботи

13 тиждень. 
Лекція 13 «Push-повідомлення та робота з подіями у фоні: Використання Firebase Cloud Messaging, робота з WorkManager для фонових задач».

14 тиждень. 
Лекція 14 «Підтримка різноманітних екранів та пристроїв: Адаптивний дизайн, робота з різними розмірами екранів та орієнтаціями».
Лабораторне заняття 7 «Розширення функціональності додатку з використанням Push-повідомлень Firebase Cloud Messaging (FCM)».

15 тиждень.
Лекція 15 «Публікація та монетизація додатку: Оптимізація додатку під вимоги Google Play, публікація додатку, введення в монетизацію додатків».
Модульна контрольна робота 2.

Оцінювання результатів навчання

Оцінювання результатів навчання з дисципліни здійснюється за накопичувальною системою, яка дає можливість здобувачеві протягом семестру отримати максимально 100 балів.

Модуль 1
Лабораторна робота 1 – Лабораторна робота 2.  – 2 по 8 балів – 16 балів.
Лабораторна робота 3 – 9 балів.
Модульна контрольна робота 1 – бездоганне виконання 25 балів (в кожному завданні модульної контрольної роботи наведено максимальну кількість балів за виконання кожного завдання).

Модуль 2
Лабораторна робота 4 – Лабораторна робота 7.  – 4 по 5 балів – 20 балів.
Захист розрахунково-графічної роботи – 10 балів. 
Модульна контрольна робота 2 – бездоганне виконання 20 балів (в кожному завданні модульної контрольної роботи наведено максимальну кількість балів за виконання кожного завдання).

Посилання на рекомендовані джерела

1. Розробка мобільних додатків від А до Я: повний гайд. URL: https://dan-it.com.ua/uk/blog/rozrobka-mobilnih-dodatkiv-vid-a-do-ja-pov... (дата звернення 12.02.2024).
2. Android for Developers. URL: https://developer.android.com/ (дата звернення 12.02.2024).
3. GeeksforGeeks Android Tutorial. URL: https://www.geeksforgeeks.org/android-tutorial/?ref=gcse (дата звернення 12.02.2024).
3. Kodeko Android & Kotlin Articles. URL: https://www.kodeco.com/android/articles (дата звернення 12.02.2024).
4. Getting started with Android Jetpack. URL: https://developer.android.com/jetpack/getting-started (дата звернення 12.02.2024).
5. Tutorials Point Android Tutorial. URL: https://www.tutorialspoint.com/android/index.htm (дата звернення 12.02.2024).

Компетентності: 

К1. Здатність проєктувати та розробляти програмне забезпечення із застосуванням різних парадигм програмування: узагальненого, об’єктно-орієнтованого, функціонального, логічного, з відповідними моделями, методами й алгоритмами обчислень, структурами даних і механізмами управління.
К2. Здатність застосовувати методології, технології та інструментальні засоби для управління процесами життєвого циклу інформаційних і програмних систем, продуктів і сервісів інформаційних технологій відповідно до вимог замовника.
К3. Здатність забезпечити організацію обчислювальних процесів в інформаційних системах різного призначення з урахуванням архітектури, конфігурування, показників результативності функціонування операційних систем і системного програмного забезпечення.

Передумови вивчення дисципліни: 

Об'єктно-орієнтоване програмування, Технології комп'ютерного проєктування

Результати навчання: 

РН1. Використовувати навички розробки мобільних додатків для платформи Android з використанням відповідних інструментів та мов програмування.
РН2. Застосовувати знання про мобільні API та сервіси для створення функціональних мобільних додатків.
РН3. Використовувати навички проєктування та розробки інтерфейсу користувача з урахуванням принципів UX/UI дизайну.

2024 рік