UPDATE: I have been adding new sessions below as they have been posted from Stanford.
My recent journey to learn some iPhone development, like what seems to be half the population of the planet, I came across a great resource for learning. Many universities are putting their courses on-line and making them free these days and Stanford University is no different, offering a totally free course on iPhone development aptly titled iPhone Application Programming. The syllabus is available for the 10-week course on the Stanford site as well.
As the time I am writing this there are 13 lectures available to download from the iTunes store:
- Introduction to Mac OS X and Cocoa Touch : Evan Doll provides an overview for the Stanford Computer Science department course, iPhone Application Programming.
- Using Objective-C, Foundation Framework : Alan Cannistraro provides an overview of object oriented programming, the objective-C programming language, and common foundation classes.
- Custom Classes, Memory Management, and ObjC Properties : Evan Doll discusses custom classes, object lifecycles, autorelease, and properties.
- Interface Builder, Controls, Target-Action : Alan Cannistraro discusses the interface builder, controls, and target-action.
- Views and Drawing, Animations : Alan Cannistraro covers views, drawing, and animation.
- View Controller Basics : Evan Doll outlines designing iPhone applications, goes on to discuss the model-view-controller paradigm, and explores view controllers.
- Navigation Controllers : Evan Doll covers navigation and tab bar controllers.
- Table Views : Guest lecturer Jason Beaver from the Apple User Interface Kit (UIKit) team covers scroll views and table views.
- Dealing with Data: User Defaults, SQLite, Web Services : Evan Doll discusses data in your iPhone application.
- Performance and Threading : Alan Cannistraro covers application performance.
- Text Input, Presenting Content Modally : Evan Doll covers text input and presenting content modally.
- Address Book: Putting People in Your App : Alex Aybes discusses interfacing with contacts in the address book.
- Debugging Tips, Searching, Notifications, KVC/KVO : Alan Cannistraro covers searching and notifications.
- Touch Events and Multi-Touch : Steve Demeter shares his experience in creating the popular game applications, Trism. Josh Shaffer follows with a overview of touch-events and multi-touch.
- iPhone Device APIs: Location, Accelerometer & Camera, Battery Life & Power : Justin Santamaria, from the iPhone Software Engineering team, provides an overview of the iPhone device APIs.
- Audio APIs, Video Playback, Displaying Web Content : The lecture today covered audio, video and web APIs available on the iPhone. We also touched on settings bundles and some additional view transitions.
- Creating New Expressive Social Mediums on the iPhone : Ge Wang, co-founder of Smule and developer of Ocarina and Leaf Trombone, spoke at length today on metaphors for the iPhone and creating expressive social mediums for the phone.
- Unit Testing, Localization & More : Evan covered unit testing, how to have some fun (and either impress your friends or crash your app) with Objective-C, localization and some common questions that we’ve been asked
I have gone through several of these and they are really very good. We are fortunate to have a resource like this without cost.
A few bonus talks were also included from some folks who already have iPhone applications developed:
- Loren Brichter on Tweetie : Loren Brichter shares his experience in developing Tweetie, the most successful paid social networking application.
- How to Build an iPhone App that Doesn’t Suck! (In 10 Easy Steps) : Steve Marmon discusses the iPhone User Interface guidelines and proposes ten steps for the application development process.
- From Upstart to Startup to Grownup: Lessons Learned in the First Year of an iPhone Company : Jessica Kahn, the Director of Engineering at Tapulous, describes her experience at an iPhone application development company.
- Optimizing OpenGL for iPhone : Tim Omernick from the popular gaming company, ngmoco, provides a broad overview of OpenGL on the iPhone.
All of the materials from the course are available from the class site at Stanford. This seems like a great resource to anyone starting out in iPhone development and either cannot get the time away.