Daniel offers 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.

SwiftUI and Combine

SwiftUI Kickstart

One day

Currently our most popular course. SwiftUI is the future of iOS, Mac, AppleWatch, and AppleTV interface development. This hands-on introduction shows you how to combine and configure elements and lay them out. You'll learn the new paradigm for data flow in SwiftUI as well as new and familiar tools for creating tabs, sheets, and navigation for your app.


One day

There are three changes coming to the way data flows through our iOS and Mac applications: there will be an emphasis on single-direction flow, the code we write will be declarative, and there will be a unification of Apple APIs for asynchronous events. All of this is captured in the new Combine framework. This one day class gets you up to speed with the techniques and mind-set to master this approach.

Swift 5

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.

Thinking in Swift

One day

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.

Functional Programming in Swift

One day

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().

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 13

Intro to iOS

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

Two days

Experienced developers with a background in Swift will learn to use idiomatic Swift 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 apps.

iOS 13 with Swift 5

Introduction to iOS Programming with Swift

Four days

Our most popular introduction to programming iOS in Swift 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 5. 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 - iOS Bootcamp

Three - Five days

This is an accelerated and abridged version of our most popular introduction to programming iOS in Swift 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 playground or an iOS Swift Playground.