• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site
Bachelor 2020/2021

Research Seminar "Cloud and Mobile Application Development for Apple iOS Platform"

Type: Elective course (Software Engineering)
Area of studies: Software Engineering
When: 3 year, 1-3 module
Mode of studies: offline
Instructors: Dmitry Alexandrov
Language: English
ECTS credits: 3
Contact hours: 44

Course Syllabus

Abstract

The course covers the Swift programming language (Edition 5.1) and iOS application development basics. In particularly, main aspects include design and architecture, user interactions specifics, capabilities of Apple devices, etc.
Learning Objectives

Learning Objectives

  • The main objective of the training course is to examine and principles of iOS apps development, get familiar with platform, IDE, technologies, and frameworks for the development of iOS apps.
Expected Learning Outcomes

Expected Learning Outcomes

  • Students will aсquented with IDE Xcode and Swift.
  • Students will be able to work in IDE Xcode in Swift.
  • Students will know how to apply design patterns in Swift.
  • Understanding the mechanism of the life-cycle of UIViewController.
  • Understanding how to deal with Geolocation, Core Data and Json Data & Dictionaries in apps.
  • Knowing how to develop the Widgets and the apps for Apple Watch using general container for Data Storage, and write the Software Requirements Specifications (SRS).
  • Students will know how to develop the custom keyboards, integrate iAds and In App purchases with the apps, implement Version Control, 3D Touch, and CoreLocation using iBeacons.
  • Knowing how to create iMessage Apps, and understand the AGILE Way of Mobile Apps Development.
  • Knowing how to create the iOS Apps Integrated with Firebase Services and apps that use remote services.
  • Knowing how to use Cloud Data Stores for creation of backend for iOS apps.
  • Knowing how to create IoT prototypes for iOS and WatchOS.
  • Knowing how to use PassKit APIs to Support Apple Pay in iOS and WatchOS Apps, and create the chat Prototypes for payments.
  • Knowing how to add and animate sprites in game apps.
  • Knowing how to use ARKit to create unparalleled augmented reality apps, and Core ML in machine learning apps.
  • Knowing how to deal with the app icons and screenshots, and submit the apps using iTunes Connect.
Course Contents

Course Contents

  • Getting Started With Xcode and Swift
    The Xcode Interface Overview Adding Labels To the Apps Working With Text Inputs and Buttons The Swift Playground Overview Variables And Variable Types Arrays And Dictionaries If and Else Statements For and While Loops Using Constraints for Creating Robust Layouts
  • Work in the IDE Xсode
    Students will be able to work in IDE Xcode and program in Swift.
  • Architectural Patterns in iOS. iOS Features
    Architectural Pattern MVC Architectural Pattern MVP Architectural Pattern MVVM Architectural Pattern VIPER Work with Timers Spinners And Alerts Adding The User Table Table Views & Working With Classes Storing Data Permanently In the Apps Viewing Website & Web Content In the Apps String Manipulation & Processing Web Data
  • Creating the iMessage Apps
    Creating the iMessage Apps AGILE Way of Mobile Apps Development
  • The Life Cycle of UIViewController. iOS Features
    The Life Cycle of UIViewController Working with Data From The Web Working with Images From The Web Getting Images From The Photo Library And Camera Manipulating UIImages and Creating Animations Working with Audio Responding To User Shaking and Swipes
  • Maps & Geolocation
    Integrating Maps Into the Apps and Adding Pins and Messages Geolocation: Using The User's Location In the Apps Working With Core Data and Searching For Objects Json Data Webviews Interaction with Integrated Software Working With Json Data & Dictionaries
  • Development of Widgets and the Apps for Apple Watch
    Development of Widgets Development and the Apps for Apple Watch Using the General Container for Data Storage Writing the Software Requirements Specifications (SRS)
  • Extra Usefull Features
    Custom Keyboards Integrating iAds and In App Purchases Into the Apps Implementing Version Control 3D Touch: Peek & Pop and Quick Actions Implementing Touch ID Advanced CoreLocation: using iBeacon
  • Using the Cloud Data Stores
    Using Cloud Data Stores for Creation of a Backend for iOS Apps
  • Creating Apps that Use Remote Services
    Creating iOS Apps Integrated with Firebase Services Creating Apps that Use Remote Services
  • Creating the IoT Apps
    Creating IoT App Prototypes for iOS and WatchOS
  • Creating the Chat Apps for Payments
    Using PassKit APIs to Support Apple Pay in iOS and WatchOS Apps Creating a Chat App Prototype for Payments
  • Creating the Games with Sprite Kit
    Adding And Animating Sprites Animating The Background Controlling and Spawning Sprites Collisions Scoring And Game Controls
  • Extra Usefull Frameworks
    Using the Framework ARKit to create unparalleled augmented reality experiences Using the Framework Core ML for Machine Learning
  • Submitting an App To The App Store
    App Icons And Launch Screenshots Submitting the Apps Using iTunes Connect
Assessment Elements

Assessment Elements

  • non-blocking Exam
    Экзамен устный в Zoom. Без прокторинга. Технические требования: web-камера, микрофон, наушники / колонки, Zoom.
  • non-blocking Home assignments.
Interim Assessment

Interim Assessment

  • Interim assessment (3 module)
    0.4 * Exam + 0.6 * Home assignments.
Bibliography

Bibliography

Recommended Core Bibliography

  • Dippery, Michael Professional Swift. – John Wiley & Sons, Incorporated, 2015. – Режим доступа: https://ebookcentral.proquest.com/lib/hselibrary-ebooks/reader.action?docID=4043081

Recommended Additional Bibliography

  • Tyson McCann and Tyson McCann TheArt of the App Store: The Business of Apple Development. – John Wiley & Sons, Incorporated, 2011. – Режим доступа: https://ebookcentral.proquest.com/lib/hselibrary-ebooks/reader.action?docID=817945