Home / Fields of study / Courses / Development in iOS

Terms for 2017

September, 5

Admission Interviews

September, 7

Open Day

September, 12

Admission Interviews

September, 14

Open Day

Full list of terms

Development in iOS

Goal of this subject is to provide students with knowledge of the basic programming skills for the Apple iOS platform in the Apple Swift programming language. In this course students will learn how to create iOS applications usign the state-of-the-art Swift language techniques and familiarize themselves with the process of mobile application development - from the User Interface modeling, throught Design and Development, till the Release of created apps to the AppStore.
 

What are you going to learn

  1. Introduction I - Organization, How development of mobile application looks like? - Students will be introduced to the structure and organisation of the subject, they will learn what the iOS application development means and how a mobile application development process looks like - the following steps will be covered: Idea, LFP (Low Fidelity Prototype), HFP (High Fidelity Prototype), Model, etc.
  2. Introduction II - IDE, Swift language, Components and Ecosystem - Students will learn the basic Swift language syntax and they will be introduced to the Apple Xcode IDE. They will be explore the ecosystem and various tools that ease iOS application development. They will be introduced to the basic components of iOS SDK.
  3. View Controller I - Life Cycle  - Students will be introduced to the MVC design pattern and how it is used in iOS applications, they will explore the application life cycle, view controllers and the Delegation design pattern.
  4. View I - AutoLayout and Storyboard - Students will be introduced to Storyboards, InterfaceBuilder, AutoLayout, IBActions and IBOutlets concepts
  5. View II - Basic SDK Components - Students will be introduced to the usage of basic UI components which are present in iOS SDK - such as UIButton, UISegmentedControl, UIToolBar, UINavigationBar, UITabBar, etc.
  6. View III - Advanced SDK Components - Students will be introduced to the usage of advanced UI components which are present in iOS SDK - such as UITableView and its ecosystem: UITableViewDataSource and UITableViewDelegate. (bonus topics: UICollectionView, SwipeCell, StyleableCell)
  7. View IV - Modal and other Components - Students will be introduced to the usage of few othew UI components which are present in iOS SDK - such as UIMenu, UIAlertController, UIGestureRecognizer, UIWebView, etc. (bonus topics: ProgressHUD)
  8. Model I - Background Processing and Communication - Students will be introduced to the different ways of background work processing on iOS (selectors, GCD, notifications) and to different ways of downloading data and internet communication - NSURL, AFNetworking, Alamofire and SDWebImage.
  9. Model II - Data Storage - Students will be introduced to the different ways of data storage on iOS - NSUserDefaults, NSCoding, KVC and CoreData. (bonus topics: MagicalRecord, Mogenerator)
  10. View Controller II - PUSH notifications - Students will be introduced to concepts and way of integration of PUSH notifications and with some other frameworks which can be integrated into iOS applications.
  11. View V - Application Design - Students will be introduced to the various ways of styling iOS applications and their Design and Appearance definition using UIAppearance. (bonus topics: UISS, manual rendering)
  12. Conclusion - AppStore Distribution, What was not discussed yet? - Students will be introduced to the  Apple AppStore distribution process, followed by a discussion of semestral work with an outline of possible ways for further study and development of their iOS programming skills.

How the course is organized

Full time study

The subject consists from 12 lectures and 12 seminars, each 1.5 hours.