This course introduces Apple's Swift programming language in considerable technical depth, focusing on those parts of the language that you will find new or unfamiliar. Swift is Apple's preferred programming language, and is a vastly better alternative to Objective-C. Learning it is an essential first step to working effectively on the Apple platform. This course is geared to working programmers—prior experience with an OO language is required. You don't need to know anything about the Apple ecosystem, however: this is a language course, not an iOS or OSX programming course. This course covers the most recent version of Swift (2.0).
If you're an experienced Objective-C programmer, there's a lot in Swift that will be new to you. If you don't know Objective C, you'll be much better off learning Swift than Objective C—your code will be more flexible and maintainable. All of the Apple documentation covers both languages.
The language can be tricky. The functional-programming and generic-programming parts of Swift are new to many programmers. There are many built in features that can render your code unmaintainable if used improperly. The language's syntax is far from intuitive in many places.
It's an enormous help to learn this language in a hands-on classroom environment, where you can get immediate answers to your questions as you're programming, and immediately put what you learn to use. Working on your own, it could take weeks to learn what you'll learn in two days of class.
As is the case with all of Allen's classes, this class goes way beyond syntax (which you can pick up from a book). We spend considerable time talking about how the language should be used. That's particularly the case with the OO and functional-programming aspects of Swift, which have to be used idiomatically to be effective.
The focus is on the language itself, not on Cocoa or UIKit. In general, students already have a background in an OO language (C#, Java, C++, Objective-C, etc.), but that's not required for the three-day format.