The iPhone and iPad run on iOS, Apple's operating system for mobile devices. This introductory course offers a hands-on approach to the basic skills required to create simple iOS native applications. The course includes introductory topics on the Swift programming language for iOS app development. Though prior knowledge of Swift is not required to take this course, you should have some programming experience.
You will learn to build simple iOS applications via a series of guided exercises. The course demonstrates how to use the iOS software development kit (SDK) to develop iPhone and iPad applications and discusses Xcode and the Swift programming language. You will learn the key features of the Swift programming language, including how to read and write Swift code. You will also learn how to customize iOS user interfaces using Xcode Libraries and Inspectors, build scenes within storyboards using Interface Builder, and understand the MVC Architecture.
By the end of the course, you will have the skills necessary to develop simple native applications. The course offers short programming projects but does not cover all iOS features.
- Introduction to Xcode and the iOS SDK
- Common types
- Functions and methods
- Classes, structures, and enumerations
- Control flow, including switch statements
- Swift collection types
- Optionals, tuples
- Memory management
- The Xcode IDE. Libraries, Navigators and Inspectors
- Storyboard and Interface Builder
- Model-View-Controller (MVC)
- UIView, UIViewController and related classes
- IBOutlet and IBAction
The Swift language
Note(s): To participate, students must get a free Apple Developer Center (ADC) account or an Apple ID. To sign up, please visit http://developer.apple.com/programs/register. Students will need access to a Mac running Mac OSX 10.12 in order to do their assignments. UCSC Extension provides Mac computers with Xcode and SDK iOS installed. Students can bring their own laptops.
Skills Needed: Students should have some programming experience with a computer programming language.