Daniel offers the following public and private online courses on Swift, SwiftUI, Combine, iOS, Functional Programming, and learning to program. The list is periodically updated and the course content is regularly refined.

We also create custom content for some of the worlds finest companies. For more information on booking or creating a course for your group, company, or public event, see Booking and Availability.

Many of the topics are covered in our Books and Videos.

Online Courses

Two days

The async / await family includes syntax and APIs that combine to provide language level support for working with concurrency and asynchronous code. You'll learn everything starting with when and how to use async, await, and Task. You'll use continuations to replace and wrap delegates and closure-based APIs. For multiple values over time, you'll meet AsyncSequence and AsyncStream. You'll write structured concurrency with async let and TaskGroups. We end protecting shared mutable state with actors.

One day

This hands-on introduction to SwiftUI 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, lists, grids, and navigation for your app.

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.

One - Two days

Swift supports a functional programming style. This course explores the benefits of working with value types, higher-order functions, and passing closures while digging in deeper to map(), flatMap(), and others in the Swift Programming Language.

One day

The Combine framework unifies how we communicate with Apple APIs and our own code for asynchronous events. This one day class gets you up to speed with the techniques and mind-set to master Combine.

Two - Three 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.

Training Calendar

Private Training

Modern Concurrency

April 18-19, 2023

Cleveland CocoaHeads


April 18, 2023

App Dev Con

Concurrency Workshop

May 9-10, 2023


In the area

June 5-8, 2023

Private Training

Modern Concurrency

June 19-20, 2023

Pragma Conference


October 4-6, 2023