iPhone/iPad Programming
with Matt Drance and Daniel Steinberg
Dates & Pricing
- October 25-28 in Chicago, IL

| $1695 | Alumni and Groups of 3+ |
| $1995 | Early Bird (thru Sept 25) |
| $2295 | Regular |
Learn how to create full-featured iPhone/iPad apps from scratch in this 4-day, hands-on training course taught by two renowned experts.
- Learn how to use the major tools and APIs in the iPhone SDK 4 (the latest version), and how they all fit together to build iPhone/iPad apps like the pros.
- Gain hands-on coding experience and get answers to your questions so you can start creating your own iPhone/iPad apps with confidence.
- Save time and frustration by focusing exclusively on iPhone/iPad development for four days with expert guidance.
You'll come away from this course knowing Interface Builder, Xcode, Objective-C, Cocoa Touch programming, and the APIs included in the iPhone SDK. You'll not just know how to use these powerful tools, you'll also understand why things are the way they are. You'll be ready to create your first iPhone/iPad app, or improve your existing app. Check out some of the apps attendees have created!
“It was totally awesome! I learned more in these four days than in six months of muddling around on my own.”
What Will I Learn?
How to create full-featured iPhone apps from scratch. Through a series of guided instruction, hands-on coding exercises, and discussion, you'll learn the fundamentals of creating iPhone apps that look and function like some of the apps already on your iPhone. Topics include:
- Intro to Objective-C: Objective-C is the object-oriented programming language that you use to write iPhone and iPad apps. While this isn't a comprehensive course on Objective-C, you'll learn enough to jump right into iPhone/iPad development. Topics include classes, objects, properties, message sending, memory management, and the Foundation classes.
- Xcode and Interface Builder: Xcode is the IDE used for iPhone/iPad development and Interface Builder is the visual tool for designing your app's user interface. You'll learn how to use both of them effectively, and learn various tricks of the trade to work more efficiently.
- Cocoa Touch: Cocoa Touch is a set of object-oriented libraries for creating apps that run on the iPhone, iPod Touch, and iPad. 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 iPhone developer. You'll learn the benefits of model-view-controller (MVC), delegation, notifications, and other fundamental design patterns in Cocoa Touch.
- Views and Their 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 and wire them up to view controllers with outlets and actions. You'll also get an introduction to some of Apple's own pre-built view controllers, which save you tons of work.
- Navigation: Efficient and consistent navigation is especially important on a mobile device. You'll learn how to use navigation and tab bar controllers to improve the user experience of your app.
- Table Views: Table views are central to many iPhone/iPad apps, such as the contact manager. You'll learn how to organize data in tables, insert and delete table data, and navigate between tables using navigation controllers.
- Keyboard Input: The virtual keyboard is unique to the iPhone/iPad and it's important that your app makes it as easy as possible to enter text. You'll learn how to use delegates to design and handle keyboard input for an ideal user experience.
- Gesture Recognizers: Take advantage of the touch screen by learning how to handle touch events with the new gesture recognizers. First introduced for the iPad and now available in iPhone 4, gesture recognizers make it easy for you to detect and respond to taps, swipes, and other gestures.
- Core Data: Core Data offers an elegant solution to data modeling and persistence. You'll learn how to get started managing, modeling, and persisting app data using Core Data.
- Custom Graphics: Graphics are an important element of your app's user interface. Set your app apart from the crowd by learning how to use custom images and draw text and shapes.
- Animation: Users expect your app to look and behave like other apps on their phone. One of the keys is judicious use of animation. You'll learn how to employ simple techniques to enhance your app to animate various views. You'll also learn how to use the new blocks syntax in iPhone SDK 4 to clarify your code.
- Performance and Debugging: Learn how to use power tools, including Instruments and the Clang Static Analyzer, to detect memory leaks and profile the performance of your app.
- Transitioning to the iPad: You'll use the same fundamental techniques that we cover in this course to program the iPad. There are, however, some tasks and widgets that are unique to this device. We'll transform an iPhone app into a Universal application that can run on both platforms, and we'll explore the new Split-View Controller and Popovers which are iPad-specific.
- And More! Along the way you'll learn practical tips, tricks, and techniques used by the pros to work more efficiently and create full-featured iPhone/iPad apps.
In addition to the prepared topics, you'll have time to ask questions and spark discussions with other developers.
“This is by far the best training I've had!The instructors are not only very knowledgeable but communicate the content really well.”
Who’s It For?
Programmers. This Studio will be a good fit for you if...
- You're new to iPhone development, or you've started building an iPhone app and need help putting all the pieces together
- You have a programming background in an object-oriented language such as Java, C#, Ruby, or Python.
You can prepare for this course by assessing your skills and working through some of the resources listed in our iPhone Developer's Roadmap. Sorry, this Studio is not a good fit for folks who are new to programming in general.
“I can't believe by the middle of day 2 I have an app running on my iPhone that persists data.”
Who Teaches the Course?
Matt Drance and Daniel Steinberg. This course is taught by programmers for programmers. You'll learn directly from two renowned authorities on iPhone development.
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.
Daniel Steinberg is the author of the book Cocoa Programming: A Quick Start for Developers and the upcoming book iPad Programming. 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, and other Mac developer conferences.
“I wanted training from real, experienced iPhone developers...and I got that in this Studio!”
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
What Should I Bring?
Your Mac Laptop, Running Snow Leopard. 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 iPhone/iPad 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.
Your Registration Includes
- A continental breakfast, beverages and snacks, and a hot lunch each day
- A binder with all the printed material
- All the 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
- Discounts on books, screencasts, and future training
- A stylish Pragmatic Studio t-shirt and more!
