Бакалаврська сертифікатна програма

«Програмування під iOS»

Mobile Phoen Screen

Профіль програми

Дана сертифікатна програма спрямована на вивчення засобів та підходів, що використовуються для створення мобільних додатків на базі операційної системи iOS. Особливість розробки додатків для мобільних пристроїв полягає в першу чергу в обмеженості ресурсів (інтернет трафіку, заряду акумулятора, обчислювальних потужностей, тощо), що формує особливі виклики перед мобільним розробником. Незважаючи на обмежений інструментарій зумовлений обмеженнями операційної системи, в даній галузі існують різні підходи до розробки програмного забезпечення, знайомство з якими є корисним не лише в контексті мобільної розробки. Слухачі даної сертифікатної програми познайомляться з мовою програмування Swift, а також методами розробки, що поєднують в собі об'єктно-орієнтовану, протокольно-орієнтовану, функціональну парадигми програмування.

Сертифікатна програма поєднує теоретичні знання з великою кількістю практичних робіт які дозволять студентам отримати навички розробки програмних застосувань для мобільних пристроїв на базі iOS та базові навички роботи в умовах обмежених ресурсів. 

Розрахована на 17 кредитів ЄКТС.

Дисципліни

Мова програмування Swift

3 кредити ЄКТС, семестр 5

  • Базові оператори, робота з рядками

  • Синтаксичні конструкції, опціонали, обробка помилок

  • Колекції (Масив, Словник, Множина)

  • Функції та замикання; функції вищого порядку

  • Типи даних: переліки, структури та класи; властивості, методи, індексатори

  • Класи: двокрокова ініціалізація, деініціалізація, спадкування

  • Автоматичний підрахунок відсилок (ARC)

  • Узагальнені та непрозорі типи (Generics & Opaque types)

Розробка iOS додатків

4 кредити ЄКТС, семестр 4

  • Особливості роботи iOS (життєвий цикл програми, робота у фоні, цикл виконання, багатопоточність)

  • Основи UIKit (UIApplication, UIApplicationDelegate, NotificationCenter, UIView, Autolayout)

  • Складні UIView: UITableView, UICollectionView, UICollectionViewLayout

  • Навігація в додатку з UIKit

  • Core Graphics, Core Animation, CALayer, RusableView

  • Responder Chain, жести та інші події

  • View, стеки, модифікатори, базові відомості про Combine

  • Складні View: List та Grid

  • Навігація та сцени зі SwiftUI

  • Малювання та високорівневі анімації

  • Обробка жестів та подій

  • Інтеграція з UIKit і навпаки

Вибрані фреймворки iOS

3 кредити ЄКТС, семестр 7

  • Пакетні менеджери: Cocoapods, Carthage, Swift Package Manager та статичні фреймворки

  • CoreLocation

  • MapKit та GoogleMaps

  • CocoaAsyncSocket та Network

  • WebKit

  • Security

  • AVFoundation

  • Core Data

  • Realm

  • Apple Push Notification service (APNs) + Firebase

Реактивне програмування в iOS

3 кредити ЄКТС, семестр 8

  • Вступ до реактивного програмування: Stateful vs Stateless

  • Основи RxSwift: Observable, Observer, холодні та гарячі Observable

  • Типи Observable: Single, Completable, Driver, ControlProperty

  • RxRelay та RxCocoa

  • RxTesting, RxBlocking

  • Основи Combine: Publishers

  • ConveniencePublishers

  • Міграція в Combine

Машинне навчання та доповнена реальність на мобільних пристроях на базі iOS

2 кредити ЄКТС, семестр 6д

  • Core ML (Vision, NLP)

  • MLKit

  • ARKit

  • CoreAR

  • MultipeerConnectivity

Робота в середовищі Apple

2 кредити ЄКТС, семестр 6д

  • Сертифікати, дозволи, профілі, система збірки, збірка багатомодульних додатків

  • AppstoreConnect та TestFlight, Crashlytics та Firebase

  • Налаштування СІ: zsh скрипти

  • Налаштування СІ: fastlane + match 

  • Налаштування СІ: хмарні CI для iOS

За інформацією про вступ та іншими питаннями звертайтесь до приймальної комісії.