Daniel presents the following public and private courses on Swift, iOS, and learning to program. The list is periodically updated and the course content is regularly refined.

You can view many of these courses as modules from which you can assemble a longer custom class. We'll be happy to discuss options.

For more information on booking a course for your group, company, or public event or for questions about our offerings, see Booking and Availability.

Swift 4

Swift Kickstart

One day

This best selling one day intensive class introduces experienced programmers to important concepts and techniques of coding with Swift. The first half of the course covers the language fundamentals and the second half examines classes, enumerations, structs, and protocols.

Swift borrows the best from a multitude of paradigms. This course encourages programmers with some Swift experience to replace and add functional code to your OO code and to sprinkle in aspects of protocol oriented programming.

Swift is not a functional programming language but it does support a functional style. This course explores the benefits of working with value types, higher-order functions, and passing closures while digging in deeper to map(), reduce(), and flatMap().

If you have some familiarity with Swift, this course will teach you to take advantage of Swift features to write more robust code that is easier to reason about. We'll see why the Design Patterns you need and use depend on your programming language as we explore some useful Swift Design Patterns.

Swift Sequences

Two to Four days

Build a Swift sequence from the one day offerings. We'll be happy to advise you on the combination that best fits your needs.

iOS 11

Intro to iOS 11

One day

This introduction to iOS development is for experienced programmers who have always wanted to learn to write an iPhone app. You can follow along as the examples provide an overview of the four pillars of iOS development: Xcode, Swift, Storyboards, and View Controllers.

Swifty iOS 11

Two days

Experienced developers with a background in Swift will learn to use idiomatic Swift 4 for iOS development. You can't write great modern iOS apps by translating Objective-C code into Swift. In this course we embrace the latest tools, techniques, and idioms for writing Swifty iOS 10 apps.

iOS 11 with Swift 4

Our most popular introduction to programming iOS 11 in Swift 4 takes full advantage of Apple's new modern programming language in a comprehensive introduction to contemporary iOS development. We begin with a fast-paced introduction to Swift 4. On day two we continue the course with a study of idiomatic Swift blending protocol oriented programming, object oriented programming, and functional programming. On days three and four we use this Swift knowledge in our two day intensive survey of Swifty iOS programming.

Swift 4 - iOS 11 Bootcamp

Three - Five days

This is an accelerated and abridged version of our most popular introduction to programming iOS 11 in Swift 4 Introduction to iOS Programming with Swift. The three day version is designed for experienced programmers who are new to Swift but who may have some iOS experience. Experienced Swift developers may prefer swapping the intro Swift content for more in-depth material. Contact us for customization.

Learn to Program

The Turtle in the Playground

90 minute - 2 hour

This fun, interactive workshop is designed to introduce programming to ages 7 - 11 but can be adapted for groups of any age. Participants direct a turtle towards its goal while learning the fundamentals of the Swift programming language and how to work with either an Xcode 9 playground or an iOS Swift Playground.