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
|
Interested in taking a single class? Some courses (designated by a
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
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 iPhone
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