July 20–24, 2015
Portland, OR

Programming with Swift: Solid fundamentals, advanced language features, and open source libraries (continued)

Tim Nugent (Lonely Coffee), Jon Manning (Secret Lab), Paris Buttfield-Addison (Secret Lab)
9:00am–5:00pm Tuesday, 07/21/2015
Training E147/148
Average rating: ****.
(4.67, 0 ratings)
Slides:   external link

This training begins on Monday.


No experience is needed in any specific language, or in Mac or iOS development, but you should be reasonably comfortable in Java, C#, C++, Python, Ruby, or other similar programming languages.

Computer Requirements

You’ll need a Mac laptop running OS X 10.9.4 or later, and have Xcode 6.2 or later installed.


In the next several years, Swift will become the language of choice for developing iOS and OS X apps and services. Introduced in June 2014, Swift is a new language designed for power, safety, and flexibility. By taking inspiration from a diverse range of languages including Objective-C, Rust, Python, C#, and Ruby, Swift provides you with an extremely capable toolkit for writing great code very quickly.

If you’re involved in writing anything to do with iPhones, iPads, or Macs, you need to get familiar with Swift. This training will bring you from zero Swift knowledge all the way up to a deep understanding of the subject.

In this training, you’ll start by getting up to speed with the language, and getting familiar with both the basics as well as exploring some of the more sophisticated language features. You’ll then start exploring the details of Swift and its standard library; finally, you’ll learn and start using the huge array of open source libraries and toolkits that already exist for Swift.

By the end of this training, you’ll be comfortable using Swift in your own projects, no matter what their size.

What you’ll learn

By the end of this training, you will have an in-depth understanding of advanced language features, and will be able to use them to solve real-world problems extremely efficiently.

We’ll begin with the tools that you’ll be using to write Swift code, and start working with the Swift syntax. We’ll then do a series of deep dives into how Swift handles common programming topics like object-orientation, access control, and interoperation with other languages. Finally, we’ll look at how to use Swift to build real-world applications, using both Cocoa and Cocoa Touch as well as open-source libraries.


Among the many, many different topics that we’ll be covering in this training, you’ll find:

  • Playgrounds
  • Swift’s syntax
  • The niftiest little type system
  • Closures and functions
  • Classes and protocols
  • Generics
  • Custom operators
  • Literal convertibles
  • Integrating with C and Objective-C
  • Open-source swift libraries
  • Working with Cocoa and Cocoa Touch
  • Solving common problems using Swift


This training is aimed at any programmer who wants to either learn Swift, or who wants to extend their existing Swift knowledge. You don’t have to have to have any knowledge about coding for these platforms, and we won’t be doing anything that’s specific to either.

Photo of Tim Nugent

Tim Nugent

Lonely Coffee

Tim Nugent pretends to be a mobile app developer, game designer, PhD student, and now he even pretends to be an author (he co-wrote the latest update to Learning Cocoa with Objective-C, Swift Development with Cocoa, and the upcoming The Kerbal Book for O’Reilly). When he isn’t busy avoiding being found out as a fraud, he spends most of his time designing and creating little apps and games he won’t let anyone see. Tim spent a disproportionately long time writing this tiny little bio, most of which was trying to stick a witty sci-fi reference in, before he simply gave up. Tim can be found as @The_McJones on Twitter. He is an avid board game player.

Photo of Jon Manning

Jon Manning

Secret Lab

Jon Manning is the co-founder of Secret Lab, an independent game development studio based in Hobart, Tasmania, Australia. He’s worked on apps of all sorts, ranging from iPad games for children to instant messaging clients. He’s a mobile development guru, and frequently finds himself gesticulating wildly in front of classes full of eager-to-learn developers. He’s written lots of books for O’Reilly Media (and previously Wiley), and recently released Swift Development with Cocoa. He’s currently working on books on Android design, game development with Unity, the Kerbal Space Program game, and the Apple Watch.

Photo of Paris Buttfield-Addison

Paris Buttfield-Addison

Secret Lab

Paris Buttfield-Addison is a cofounder of Secret Lab, a game development studio based in beautiful Hobart, Australia. Secret Lab builds games and game development tools, including the multi-award-winning ABC Play School iPad games, the BAFTA- and IGF-winning Night in the Woods, the Qantas airlines Joey Playbox games, and the Yarn Spinner narrative game framework. Previously, Paris was a mobile product manager for Meebo (acquired by Google). Paris particularly enjoys game design, statistics, blockchain, machine learning, and human-centered technology. He researches and writes technical books on mobile and game development (more than 20 so far) for O’Reilly; he recently finished writing Practical AI with Swift and is currently working on Head First Swift. He holds a degree in medieval history and a PhD in computing. Paris loves to bring machine learning into the world of practical and useful. You can find him on Twitter as @parisba.

Comments on this page are now closed.


Picture of Paris Buttfield-Addison
Paris Buttfield-Addison
07/21/2015 1:32am PDT

Hi Terry –– if your ticket allows it, you’re definitely welcome to come along of course. We’ll try our best to help you and get you up to speed, but the first day was the fundamentals, and today will be more advanced.

Just make sure you let us know you weren’t in yesterday if you come along today!


Terry Bigelow
07/21/2015 12:33am PDT

Do I need to have attended day 1 to get use out of day 2?? Thanks.