Stanford Offers Free Introductory Course on iOS Programming
Stanford University is offering a free introductionary course "Coding Together: Developing Apps for iPhone and iPad (Winter 2013)" on iTunes U. All lectures can be downloaded as video podcasts along with slides in PDF format. The material is suitable for Objective-C and iOS programming beginners, though knowledge of object-oriented concepts and languages is required.
The course consists of about 25 lectures, each providing a video capture of the classroom, the slides used during the lecture and weekly assignments to build up hands-on programming knowledge. It is structured to teach iOS app development step by step, starting with basic concepts like Objective-C syntax, memory management and the model-view-controller pattern (MVC). Further lectures cover topics like UI elements, database access or iCloud integration. Besides actual programming, the course also describes the XCode IDE and techniques like testing, debugging, profiling and source code management.
An iBook available on iTunes provides helpful documentation and interactive content to accompany the course.
Since the course is currently in progress, not all lectures are available yet. The same course, though not covering the latest changes in iOS, is available as "iPad and iPhone App Development (Fall 2011)".
To download development tools and access further development documentation, it is neccessary to register in the Apple Developer Center. Basic registration is free, but only allows for running apps in the iOS simulator. Deploying on iPhones and iPads or selling applications in the iTunes store requires a fee-based subscription ($99/year).
The course is taught by Paul Hegarty, who had joined NeXT Computers after graduating from Stanford University and became head of research and development. During that time, he was involved in creating the NeXTSTEP operating system which was later acquired by Apple. Mac OS X and iOS are direct descendants of NeXTSTEP.