Certificate in iPhone and Cocoa Development
(Autumn, Downtown Seattle)
Developed in partnership with the UW Department of Computer Science & Engineering

Overview  |   Courses  |   Instructors  |   Advisory Board  |   Apply

Get Started

The Autumn 2009 program is no longer accepting applications

Next Seattle program starts: Autumn 2010. Details will be posted in Spring

Single courses may be available

Also offered in
Winter, Bellevue
Stay Connected

Attend an open house: April 22

Get e-mail updates

Contact us:
206-685-8936
E-mail
Learn More

Download a program overviewPDF icon

Read an ars technica article about our program

Read a Time Magazine article describing a top ten list of iPhone current apps

Read a PC World article about what makes their chosen top 12 current apps memorable

Read a MacWorld iPhone and iPhone application news blog

Chris Parrish, program instructor, has been awarded an Apple Design Award for the iPhone application Postage produced by his company Rogue Sheep

Interested in taking a single class? Some courses (designated by a Class is also available to professionals who do not intend to pursue the certificate, but wish to enroll in individual classes on a space available basis below) may be open on a space-available basis to professionals who are not seeking the certificate. See Single-Course Enrollment for details.


Autumn Course

Programming in Objective-C and the Cocoa Framework

Schedule:Mondays, 6-9 p.m., Sept. 28-Nov. 30, 2009; $705; 3 CEUs.
Instructor: Hal Mueller

This course lays the foundation for the courses in iPhone application development and more advanced topics in Cocoa. In this course, you'll develop a solid understanding of the Objective-C programming language and the Cocoa frameworks used in both iPhone and OS X development. You will use Xcode (Apple's integrated development environment) to write a series of Objective-C programs of increasing complexity to teach the Objective-C language, gain skill with the development environment, develop excellent Cocoa programming style, and understand the components of a well designed and well engineered Mac desktop program.

Upon completion of this course, you will:

  • Be fluent in the Objective-C language, the structure of a Cocoa program, Cocoa naming standards, and memory management in reference-counting (retain/release) mode. Understand how to define and extend an Objective-C class with inheritance, categories, and protocols.
  • Be familiar with the basic Apple development tools and documentation, and be able to write and debug a basic Mac desktop application.
  • Understand fundamental Cocoa design patterns: model-view-controller, delegation, key-value coding, key-value observation, target-action, the responder chain, preferences, bindings.
  • Understand the mechanics and esthetics of Mac OS X desktop software design; know how to use the most common graphical user interface components; be able to apply the principles in Apple's Human Interface Guidelines.
  • Have a basic facility with Core Data APIs and datastore design.

Winter Course

Developing with the iPhone SDK Class is also available to professionals who do not intend to pursue the certificate, but wish to enroll in individual classes on a space available basis

Schedule: Mondays, 6-9 p.m., Jan. 4-March 22, 2010 (no class Jan. 18 or Feb. 15); $705; 3 CEUs.
Instructors: Kris Markel

This course teaches an experienced Mac OS X programmer how to develop software for the iPhone, using the Cocoa Touch framework. The course assumes you are fluent in Objective-C, have solid proficiency in Xcode and Interface Builder, and are well versed in all basic Cocoa design patterns, including model-view-controller, delegation, key-value coding, key-value observation, target-action, the responder chain, and preferences. You will use Xcode (Apple's integrated development environment) to build and enhance three different projects through the course. By completing these projects, you will have worked in all major areas of iPhone technology.

Upon completion of this course, you will:

  • Have a mastery of Cocoa design patterns.
  • Be familiar with advanced Apple development, debugging, and profiling tools.
  • Understand the usual building blocks for a Cocoa Touch application. Be able to write and debug a full-featured iPhone or iPod Touch application, using whatever APIs are appropriate to the task.
  • Be able to plan and lead all aspects of designing, developing, testing, and shipping an iPhone or iPod Touch application.
  • Have a working knowledge of Core Animation and layer-backed views.

How to sign up for individual enrollment in this course


Spring Course

Advanced Cocoa Development for Mac OS X and iPhoneClass is also available to professionals who do not intend to pursue the certificate, but wish to enroll in individual classes on a space available basis

Schedule: Mondays, 6-9 p.m., March 29-June 14, 2010 (no class May 31); $705; 3 CEUs.
Instructor: Chris Parrish

This course teaches programmers familiar with OS X development and iPhone development how to write complex network-based applications with multiple components, how to design and tune their applications for best performance on iPhone or Mac Desktop hardware, and how to get the most out of the development tools. The course assumes you have acquired the skills taught in the first two courses: Objective-C, Cocoa, Xcode, Interface Builder, Core Animation, and the iPhone SDK, and that you are able to plan and lead all aspects of designing, developing, testing, and shipping an iPhone, iPod Touch, or Mac OS X desktop application. You will participate in development projects that combine and synthesize your skills, and which incorporate multithreading, network communication, and advanced Core Data tuning and schema migration. You will master Apple's advanced tools for debugging, performance analysis, static analysis, and crash log analysis. You will learn to customize and extend the Xcode development environment to incorporate external libraries, multicomponent applications, localization, build automation, source code management, and custom GUI tools. You will practice using libraries for advanced graphics, animation, security, system configuration, and advanced iPhone functions.

Upon completion of this course, you will:

  • Have an in-depth knowledge of advanced topics in OS X development that will equip you to be smart, savvy, and efficient.
  • Understand how to use available tools to maximize personal development productivity and performance of applications.
  • Apply best engineering and design practices to produce fast, correct, maintainable code and pleasing, functional user interfaces.

How to sign up for individual enrollment in this course