Dates & Pricing

August 13 - 16 Reston, VA
December 4 - 7 Denver, CO
Early Price
$1995 Alumni and Groups of 3+
$2295 Attendee
Regular Price
$2395 Alumni and Groups of 3+
$2695 Attendee

Register

Learn how to create full-featured iOS apps from scratch in this comprehensive 4-day, hands-on training course taught by two renowned iOS experts. This course has been redesigned to cover the latest iOS 5.0 SDK.

  • Learn how to use the tools and APIs in the latest iOS SDK, and how they all fit together to build iOS apps like the pros.
  • Gain hands-on coding experience and get answers to your questions so you can start creating your own iOS apps with confidence.
  • Save development time and frustration by focusing exclusively on iOS development for four days with expert guidance.

You'll come away from this course ready to create your first iOS app, or improve your existing app. Check out some of the apps our alumni have created as a result of attending this course!

When and Where?

This 4-day course runs from 8:30am — 4:30pm on the first three days and 8:30am — 4pm on the last day.

Date Location Early Price Ends Regular Price Begins
August 13 - 16 Reston, VA July 13 July 14
December 4 - 7 Denver, CO November 4 November 5

You're an alumni if you've attended any previous Pragmatic Studio event. A team is 3 or more attendees from the same company. This course can also be taught on-site at your team's location. Schedule team training today!

What Will I Learn?

Hands-On Training

How to create high-quality iOS apps from scratch. Through a series of guided instruction and over 25 hands-on coding exercises, you'll learn iOS development by creating 6 example apps. You'll not just know how to use the iOS SDK, you'll also understand why things are the way they are. Topics include:

Objective-C Basics
Objective-C is the object-oriented programming language that you use to write iOS apps. While this isn't a comprehensive course on Objective-C, you'll learn enough to jump right into iOS development. Topics include:

  • Classes, objects, and methods
  • Properties
  • Message sending
  • Foundation classes: strings, arrays, and so on

Xcode 4
Xcode is the IDE used for iOS development, and it's been completely redesigned in Xcode 4! You'll learn how to:

  • Create and navigate iOS projects in Xcode
  • Use Xcode and Interface Builder efficiently
  • Use the Xcode debugger

Cocoa Touch
Cocoa Touch is a set of object-oriented libraries for creating apps that run on iOS devices. Cocoa Touch is based on Cocoa, and embodies various object-oriented design patterns also used for programming on the Mac. Understanding those patterns is essential to becoming a competent iOS developer. You'll learn how to:

  • Use the core classes in the Cocoa Touch framework
  • Get the real benefit of the model-view-controller (MVC) design pattern
  • Define delegates to "hook" your app-specific code into the Cocoa Touch framework
  • Register and post notifications

Views and View Controllers
Views represent the user interface of your app, and all the dynamic aspects of a view are handled by a view controller. View controllers are the hub of the model-view-controller (MVC) design. You'll learn how to:

  • Design views with Storyboards and Segues in Interface Builder
  • Connect views to their view controllers with outlets
  • Define actions to respond to control events, such as pressing a button

Table Views
Almost every iOS app has at least one table view to manage rows of tabular data. It's so common that Apple provides a pre-built controller for tables. But using it effectively can be tricky. You'll learn how to:

  • Create a data source to populate a table
  • Insert and delete table rows
  • Organize data in table sections

Navigation and Tab Bar Controllers
Apple also provides a number of pre-built view controllers that serve as "containers" for your controllers. Using (and understanding) these pre-built controllers will save you a ton of work. You'll learn how to:

  • Use navigation controllers to create hierarchical apps
  • Use tab bar controllers to create multi-mode apps

Keyboard Input and Gestures
Well-designed iOS apps make effective use of the virtual keyboard and touch screen unique to iOS devices. You'll learn how to:

  • Configure a keyboard for an ideal user experience
  • Create a delegate class to handle keyboard input
  • Detect and respond to taps, swipes, and other gestures

Core Data Basics
Data-centric apps will generally need to persist application-level data on the device. Core Data offers an elegant solution to data modeling and persistence. You'll learn how to:

  • Use the modeling tools to model persistent app data
  • Create, read (fetch), update, and delete persistent entities
  • Manage model relationships

Drawing and Animation
iOS devices have amazing support for custom graphics and animation. Advanced toolkits such as OpenGL are beyond the scope of this course, but most apps don't need this complexity. Instead, you can do a lot with the drawing and animation methods that are supported in all views. You'll learn how to:

  • Draw images and text dynamically
  • Create basic view animations for better user feedback
  • Use the new blocks syntax in iOS SDK 4 to clarify your code

Transitioning to the iPad
In a lot of ways, developing an iPad app is similar to developing an iPhone app. Indeed, all the fundamental concepts you learn in this course apply to the iPad, as well. There are, however, some tasks and classes that are unique to the iPad. You'll learn how to:

  • Use the split-view controller and popovers unique to iPad apps
  • Transform an iPhone app into a Universal app that can run on both platforms

Performance and Debugging
Last, but certainly not least, it's important that your app behaves well when running on an iOS device. And when trouble strikes, you'll want the confidence to solve problems quickly. You'll learn how to:

  • Avoiding and handling memory warnings
  • Use Instruments to fix memory leaks and profile your code
  • Use the debugging tools built into Xcode
  • Troubleshoot common errors and warnings

Practical tips, tricks, and techniques
Along the way you'll learn practical tips, tricks, and techniques we use to create high-quality, full-featured iOS apps.

In addition to the prepared topics, you'll have time to ask questions and spark discussions with other developers.

“It was totally awesome! I learned more in these four days than in six months of muddling around on my own.”

— Will Ronco

Will We Use Xcode 4?

Yes! We'll be using Xcode 4 throughout the course. And to help you get comfortable with Xcode 4 before the course, we've put together 10 free video tutorials. We highly recommend watching at least these three tutorials before attending:

Who Should Attend?

Hands-On Training

Programmers. This Studio will be a good fit for you if...

  • You're an experienced programmer new to iOS development.
  • You understand object-oriented programming concepts such as classes, methods, data structures, loops, conditionals, and so on.
  • You want to create your first iOS app, or improve an existing app.

You can prepare for this course by assessing your skills and working through some of the resources listed in our iOS Developer Roadmap. If you're unsure whether this course is a good fit for you, contact us.

“I can't believe by the middle of day 2 I have an app running on my iPhone that persists data.”

Mike Mangino

What's Included?

Here's what's included with your registration:

  • A continental breakfast, a hot lunch, and continuous beverages and snacks every day
  • A binder with the printed course material
  • Exercises and example source code to refer back to later
  • Internet connectivity and power during the Studio
  • An invitation to our alumni-only mailing list for help after the Studio
  • A stylish Pragmatic Studio t-shirt
  • A signed certificate of completion
  • Discounts on future training

Who Teaches the Course?

Daniel Steinberg

Two iOS Authors and Experts. This course is taught by programmers for programmers. You'll learn directly from two authors and renowned authorities on iOS development.

Daniel Steinberg is the author of Cocoa Programming: A Quick Start for Developers, iPad Programming, and Test Driving iOS Development with Kiwi. He writes feature articles for Apple's ADC web site and is a regular contributor to Mac Devcenter. He has presented at Apple's Worldwide Developer Conference, MacWorld, MacHack, CocoaConf, and other Mac developer conferences.

Bill Dudney

Bill Dudney is a software developer and entrepreneur currently building software for iOS and Mac OS X. He's a co-author of Pragmatic Programmer’s books iOS SDK Development and Core Animation for Mac OS X and the iPhone. Prior to teaching, Bill worked at Apple as the Application Frameworks Evangelist where he helped many developers with good apps build great apps. He has several iPhone apps currently selling on the App Store.

Matt Drance

Matt Drance is the owner of Bookhouse Software, an iPhone and iPad app development company, and an eight-year Apple veteran. As Apple's Application Frameworks Evangelist, Matt helped shape the APIs in the iPhone SDK and worked with hundreds of third-party developers to build many of the apps you use today. He was an annual speaker at Apple's Worldwide Developers Conference (WWDC) and iPhone Tech Talks, and his orientation videos in the iPhone Dev Center have been viewed by thousands of iPhone developers. At Bookhouse, Matt now builds his own products and works regularly with a number of clients.

“I wanted training from real, experienced iPhone developers...and I got that in this Studio!”

Kevin Garriott

What Should I Bring?

Laptop

Your Mac Laptop, Running Lion. It wouldn't be a hands-on course if you didn't walk away having written some code. Most of the labs can be run on the iPhone Simulator, so you don't necessarily need an iOS device.

A few weeks before the Studio, we'll send out detailed instructions for installing everything you'll need. During the Studio, you'll get hands-on experience working through prepared exercises, and experimenting on your own, too.

What's a Studio?

Comprehensive, Hands-On Learning. The Studio experience doesn't begin and end in the classroom. The moment you register, we'll help you start preparing for the course. In the Studio you'll enjoy a distraction-free, interactive learning environment. When you return to your project, you'll have access to supporting resources to help you succeed. (Why we call them Studios.)

1. Help You Prepare: Before you arrive, you'll:

  • Receive prep material to help you get the most out of our time together
  • Get detailed laptop set-up instructions

2. In the Studio: In our collaborative learning environment you'll:

  • Learn through guided instruction and hands-on programming exercises
  • Discover new techniques in live coding sessions
  • Get your questions answered by experts and your peers
  • Reinforce the concepts you've learned in books, and dig deeper
  • Discuss timely topics, tips, and tricks

3. On-Going Support: After you return to your project, you can:

  • Get your questions answered on our alumni-only mailing list
  • Find full-time, part-time, or contract developers for your project, or search for your dream job on our job board
  • Get discounts on books, screencasts, and future training to continue learning

4. Success: Deliver your app with more confidence!

  • Show off your app in our alumni gallery.
  • Connect with fellow alumni in our Yearbook.

We think a Pragmatic Studio offers the best developer training around. But don't take our word for it—just ask our alumni! Check out their reviews and the apps they've created.

“Certainly one of the best training experiences I've ever had...The materials are good, the guys are experts and the entire thing was fun—which is hard to say about any training program.”

— Hunter Hillegas