Improve your experience. We are very sorry but this website does not support Internet Explorer. We recommend using a different browser that is supported such as Google Chrome or Mozilla Firefox.

Swift Essentials

Everything you need to learn the Swift programming language. This 2-day course covers Swift development best practices and patterns.


This intensive two-day course teaches the Swift programming language. The course starts with basic syntax and grammar and includes coverage of Swift development best practices and patterns.

In the Atlanta area? Interested in commuting to class? Contact to discuss commuting options and discounts.

Who should take this class?

  • Developers with iOS experience in Objective-C that are ready to upgrade their skills and codebase to Swift

  • Anyone preparing to learn iOS or macOS development

  • Those serious about their growth as a professional iOS developer

What you'll learn:

  • Organize data with the common standard library collection types.

  • Handle errors with the throw/catch pattern.

  • Define custom enumerations, structures, and classes.

  • Understand object initialization, lifetime, and memory management.

  • Deal with the absence of values using the Optional type.

  • Write flexible code with protocols, extensions, and generics.

How to prepare:

Pre-Course Assignment

This class is intensive! So that we can make the best use of our time together, please come to class with an understanding of the basic Swift syntax. You can get all you need by working through our Swift pre-course workbook, which will be sent to you after registering for class.

Xcode and iOS

Please download the latest version of Xcode, which is necessary for the class. You can get the latest version of Xcode from the Mac App Store. iOS 12 is available as an over-the-air update for your iOS device if you’ll be bringing one. Please plan to download Xcode and run OS updates prior to arriving for class. Xcode requires that your Mac be running macOS 10.13.6 or later.

Device Provisioning

In order to get the best possible experience from the class, we recommend that you bring an iPhone, iPad, or iPod touch with you. Testing the apps that we write in class will be much more fun if you can see them on your device.

*We will be using iOS 12 for all examples and exercises in this class, so devices should be running iOS 12.

If you don’t have access to a device, don’t despair! It’s more fun to test your apps during class on a device, but all of the exercises in class can be performed just fine using the iOS Simulator that’s included with Xcode.



  • Start with Swift’s basic syntax for working with variables and control flow.

  • Safely work with the absence of values with the Optional type.

  • Work with failable operations by handling errors safely.


  • Learn to use the basic types from the standard library for storing, organizing, and processing data.

  • Define functions and closures for doing your app’s work.


  • Design custom structures, classes, and enumerations.

  • Understand object initialization, lifetime, and memory management.

  • Customize behavior of standard library types with protocols and extensions.


  • Write flexible code using generics.

  • Discuss modern patterns including protocol-oriented programming.

Press enter to see more results