Programming Apple Devices
IZA Acad. year 2017/2018 Summer semester 5 credits
Language of instruction
Syllabus of lectures
- Introduction. Historical backgrounds of Apple in the context of other computer companies.
- Objective-C in the context of C/C++ and Smalltalk. Dynamic memory allocation, object referencing and garbage collecting.
- Intruction to Swift programming language. Basic libraries with collections and algorithms (Foundation).
- Model-View-Controller (MVC) paradigm for developing event driven applications. Basic Controllers (Table, TabBar, Master-Detail).
- Development of user applications for mobile devices. Elements of User Interface (Cocoa Touch library).
- Programming of multithreaded applications. Concepts of threads management (GCD). Applications main control. Asynchronous calls. Modelling of multithreaded applications.
- Data encoding in applications. Creating structured documents. Synchronization of documents. Inter-application message passing (Key-Value Observing, KVO).
- Architecture of object data storage (CoreData). Synchronous connection of the database and application control via KVO.
- Multiuser applications with a central database (CloudKit). Asynchronous connection of the database and application control via GCD.
- Application life cycle in the context of operation system. User configurations. Runtime memory optimizations.
- Simulation kernel for games development (SpriteKit, SceneKit). Modelling of the physical environment and mechanics.
- Desktop applications architecture. Runtime interconnection of a mobile and desktop application.
- Applications development for tvOS and watchOS.
Syllabus of numerical exercises
- Programming in Swift. Using XCode IDE.
- Foundation library in examples. Data collections and basic algorithms.
- Application for iOS. Implementing DataSource and Delegate objects.
- Multithreaded applications. Message passing within the application. Key-Value Observing. Documents.
- Application based on CoreData.
- Application based on CloudKit.
The minimal number of points which can be obtained from the final exam is 25. Otherwise, no points will be assigned to a student.
Course inclusion in study plans