On-Site Training

    Your Developers
    Your Location
    +
    Our Instructors
    & Courseware
    =
    Focused Training Just for Your Team!
  • Ideal for teams of 8+ developers

Contact Us for a quote.

Learn how to build custom applications for the Mac from two experienced Cocoa developers and authors in this 4-day, hands-on training course.

  • Get a jump start and gain confidence to build your own Mac OS X applications.
  • Learn how to design user interfaces with Interface Builder and write Objective-C in Xcode, just like the pros.
  • Save time and frustration by focusing exclusively on Cocoa development for four days with expert guidance.
  • Build a solid foundation of knowledge and practice to tackle iPhone development.

You'll come away from this course with the confidence to build your own Cocoa applications. You'll know your way around the tools and how to use the Cocoa APIs to build full-featured applications with less code.

“I learned a lot, and the instructors were both very knowledgeable and able to clearly explain complicated concepts. Well done!”

Jeremy Vinding

Who Teaches the Course?

Daniel Steinberg and Bill Dudney. This course is taught by programmers for programmers. You'll learn directly from two Cocoa development experts and authors:

Daniel Steinberg

Daniel Steinberg is the author of the book Cocoa Programming: A Quick Start for Developers and the editor for the new series of Mac Developer titles for the Pragmatic Programmers. 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. (photo courtesy of Patrick Lenz)

Bill Dudney

Bill Dudney is a software developer and entrepreneur currently building software for the Mac. Bill started his computing career on a NeXT cube with a magneto-optical drive running NeXTStep 0.9. He's the author of iPhone SDK Development, Core Animation for OS X and the iPhone, as well as a series of iPhone development screencasts. He has several iPhone applications currently selling on the App Store.

Who’s It For?

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

  • You’re currently programming in an object-oriented language (Ruby, Java, C#, Python, etc.)
  • A working knowledge of C will help, but it's not required

You don't need prior experience with Objective-C, and there's no need to have ever built an application with a graphical user interface, whether for the Mac or any other platform.

What Will I Learn?

How to create GUI applications with Cocoa. Through a series of lecture, hands-on exercises, and discussion, you'll learn the fundamentals of building Cocoa applications. Topics include:

  • Transitioning to Objective-C 2.0: Start writing object-oriented Objective-C programs, use properties, send messages, manage memory wisely, and use the Foundation classes (data types and collections).
  • Interface Builder and Xcode: Design user interfaces visually in Interface Builder and connect it to code written and built in Xcode.
  • MVC Design: Design maintainable applications by creating decoupled models, views, and controllers.
  • Controllers: Controllers are the brains of the MVC design. You'll learn how to create outlets, write actions, and wire them up to the user interface in NIB files.
  • Delegates: Add custom functionality to your application without subclassing.
  • Notifications: Listen for events in your application without unnecessary coupling.
  • Tables: Organize data in tables and create data sources so supply the data.
  • Bindings: Automatically link between models, views, and controllers using key-value coding and key-value observing.
  • Intro to Core Data: Persist and query application-level data in a relational database.
  • Custom Views: The default set of controls only takes you so far. Set your application apart from the crowd by creating custom views drawn with Core Graphics.
  • Events: Handle mouse and keyboard events.
  • Networking: Share information with servers and devices near and far, using HTTP and Bonjour.
  • Intro to Core Animation: Add stunning animations to help your application stand above the crowd.
  • Performance Tuning with Instruments: Learn the power tools, including Instruments and gdb, to help make your application sing.
  • And Much More!... practical tips, tricks, and techniques used by the experts to work efficiently and build full-featured Cocoa applications

In addition to the prepared topics, we'll leave ample time for discussion and collaborative learning.

What Do I Need?

Laptop

This course is taught on site at your location. As such, you'll need the following:

  • a room to comfortably accommodate your team
  • a laptop projector and screen
  • a whiteboard or flipchart with markers
  • laptops (or desktops) on which each attendee can complete the hands-on exercises, and access rights on those machines to install the required software