Although there are a number of great ways to learn online, most of them cost a bit of money. Treehouse not only offers design and development lessons of exceptional quality -- both in production and content -- but offers them entirely for free.
If you've ever wanted to learn the basics of object oriented programming, the principals of good design, or how to make an iPhone app, Treehouse will teach you for free. They offer a bunch of video lessons to take you through your topic of choice, explain everything in clear and precise terms, and award you badges as you make your way through. I've been meaning to improve my pathetic Objective C skills and learn to develop for iOS but had yet to come across a set of lessons I really liked. After watching a few at Treehouse I was pretty hooked. If you've been looking to pick up one of these valuable skills as well, their lessons are definitely worth checking out.