Service and application development for iOS

Course Description

iOS skill offers to students the opportunity to acquire the knowledge needed to create and distribute applications for the iOS operating system in the Swift programming language. Students will learn how to use the XCode development environment, multithreading in iOS applications, making animations and using notifications. Additionally, complex user interfaces for iOS operating system will be presented, along with screen navigation, handling user interface components, and storing data in iOS applications.

Learning Outcomes

  1. Use the basic and complex concepts of the Swift programming language
  2. Use the XCode development environment
  3. Create applications for iOS operating system in Swift programming language
  4. Create user interfaces in iOS applications by using selected frameworks
  5. Use data in applications for iOS operating system
  6. Create animations in user interface
  7. Plan the process of iOS application distribution

Forms of Teaching

Lectures

Lectures are held two hours per week, and are accompanied by a presentation and other materials which are previously uploaded on the course web site.

Laboratory Work

Laboratory excercises involve collaborative projects and weekly consultations with lecturer.

Consultations

Weekly consultations with lecturer.

Programming Exercises

Homeworks

Other Forms of Group and Self Study

Application development

Week by Week Schedule

  1. Introduction: XCode development environment, Swift programming language, and the Model-View-Controller (MVC) architectural model.
  2. Swift programming language.
  3. iOS applications user interface: basic interface components, custom interface components.
  4. Navigation in iOS operating system applications.
  5. Other interface components in iOS applications. Exceptions in Swift programming language, delegate concept.
  6. Data collections in the iOS operating system. Presentation of data collections in iOS applications. Retrieving data over the network and presenting it in the app. Multithreading in iOS applications.
  7. Data persistence in iOS applications.
  8. Additional iOS operating system functionalities. Application lifecycle. Notifications. Animations.

Study Programmes

University undergraduate
Computer Engineering (module)
Skills (6. semester)
Computer Science (module)
Skills (6. semester)
Computing (study)
Skills (4. semester)
Control Engineering and Automation (module)
Skills (6. semester)
Electrical Engineering and Information Technology (study)
Skills (4. semester)
Electrical Power Engineering (module)
Skills (6. semester)
Electronic and Computer Engineering (module)
Skills (6. semester)
Electronics (module)
Skills (6. semester)
Information Processing (module)
Skills (6. semester)
Software Engineering and Information Systems (module)
Skills (6. semester)
Telecommunication and Informatics (module)
Skills (6. semester)
Wireless Technologies (module)
Skills (6. semester)
University graduate
Computer Engineering (profile)
Skills (2. semester)
Computer Science (profile)
Skills (2. semester)
Control Engineering and Automation (profile)
Skills (2. semester)
Electrical Engineering Systems and Technologies (profile)
Skills (2. semester)
Electrical Power Engineering (profile)
Skills (2. semester)
Electronic and Computer Engineering (profile)
Skills (2. semester)
Electronics (profile)
Skills (2. semester)
Information Processing (profile)
Skills (2. semester)
Software Engineering and Information Systems (profile)
Skills (2. semester)
Telecommunication and Informatics (profile)
Skills (2. semester)
Wireless Technologies (profile)
Skills (2. semester)

Literature

Apple Inc. (2017.), The Swift Programming Language, Apple Inc.
Matt Neuburg (2017.), iOS 11 Programming Fundamentals with Swift: Swift, Xcode, and Cocoa Basics, O'Reilly Media
Apple Inc. (2017.), Using Swift with Cocoa and Objective-C, Apple Inc.

Laboratory exercises

General

ID 180934
  Summer semester
3 ECTS
L1 English Level
L1 e-Learning
16 Lectures
0 Exercises
24 Laboratory exercises
0 Project laboratory

Grading System

Excellent
Very Good
Good
Acceptable