Swift is a language created by Apple specifically for iOS and OS X development. It’s fast, concise, and comes with tools which make it easier than ever to visualize one's code.
This course focuses on the syntax of the Swift programming language. By the end of the course, students should be able to apply Swift essentials to building iOS apps and employ Swift's more unique elements, like optional types and switch statements, with confidence.
An introduction to Swift types and operators.,Develop deftness in defining variables and constants.,Practice what you've learned with exercises in Swift playgrounds.
Declare explicitly and implicitly unwrapped optionals.,Unwrap optionals using both optional binding and optional chaining.,Practice safely unwrapping optionals and learn to avoid errors.
Learn about the Swift Collection Types: Dictionaries, Arrays, and Sets.,Perform basic operations including: append, count, insert, remove, update, find, and retrieve.,Practice manipulating collections with exercises in Swift playgrounds.
Control Flow: Loops, If statements, and Switches
Practice fast iteration with for-in loops by iterating through items in Arrays and Dictionaries.,Create programming logic of increasing complexity with if-else statements.,Delight in the convenience and conciseness of Swift switch statements.
How to Write and Call Functions in Swift
Define and call functions.,Correctly use local and external parameters.,Identify parameter types and return types.
Classes, Properties, and Methods
Practice building custom classes with their own properties and methods.,Learn about type properties and computed properties.,See example use cases for type methods and instance methods.
Enums and Structs
Learn the difference between value types and references types.,Practice choosing when to use enums, structs, and classes.,Use enums to make your switch statements extra Swifty.
Protocols and Extensions
Learn how protocols and extensions can help keep your code DRY.,Given a series of code snippets, fix compiler errors by implementing protocols.,Edit the code in a sample app to see extensions in action.
Practice using Swift closures with the functions, sorted() and filter().,Learn shorthand closure expression syntax to make your closures super concise.,See how closures are used in animations in the method, animateWithDuration.