November 15, 2011
View video here.
Stanford's latest iPhone and iPad apps course now free to the world on iTunes U
Public can download lectures and slides from iOS 5 version of iPhone Application Development for free.
By Sarah Jane Keller
Students check the results of their coding on their iPhones in the iPhone Application Development class taught by Paul Hegarty. (Photo: Linda A. Cicero / Stanford News Service)
Students may covet seats in Stanford's popular iPhone and iPad application development course, but you don't need to be in the classroom to take the course.
Anyone with app dreams can follow along online.
Stanford has just released the iOS 5 incarnation of iPhone Application Development on iTunes U, where the public can download course lectures and slides for free. Some of the most talked-about features of Apple's latest operating system include iCloud, streamlined notifications and wireless syncing.
When Stanford's first iPhone apps course appeared online in 2009, it made iTunes history by rocketing to a million downloads in just seven weeks.
Alberto Martín is an engineer and independent iOS developer in Salamanca, Spain. He has been a diligent student of the online app development class since it first appeared.
He has created applications, now for sale in Apple's App Store, that organize your photos and make navigating while driving less distracting. Or, for fitness fans, an app that counts your pushups.
His apps provide him with extra income. "I hope some day I can live off this, because I love doing it," he said.
"Although it's not impossible, I think it's hard to make a lot of money in the App Store," Martín said. "But I think it's a beautiful process because it gives you the opportunity to develop your own ideas, sell them and fight for them."
Martín has been eagerly awaiting the release of the new course and says that he will follow the classes for as long as they keep coming.
"You learn a lot by watching the lectures on iTunes U," he said. "If you want to have success you need to keep on learning new things."
Online learners hear the same lectures as classroom students, but do not get Stanford credit or access to instructors.
Instructor Paul Hegarty attributes the course popularity to the appeal of Apple products and the instant gratification of creating apps for mobile devices. "There's something about developing for the iOS platform that's really exciting and fun because it runs on devices that everybody has in their purses or pockets, " he said.
"There aren't a lot of courses you can take that when you get to the end, to your final project, you can take it out of your pocket and show your friends."
Hegarty said that his students develop a wide array of applications for the iPhone and iPad, including many that improve or automate their daily lives. Those include apps that manage laboratory experiments, keep track of food choices at campus eateries, or access the works of Shakespeare. Games and social networking applications are also popular.
John Cast, an electrical engineering student who is taking the class in a Stanford classroom, said that he learned about the course by watching earlier versions on iTunes U. Cast is working on applications that archive historical memorabilia and improve FM radio tuning.
"One of the coolest things about teaching this class is just seeing the creativity that gets applied," Hegarty said. "It's really quite amazing."
Developers unfamiliar with Apple's operating systems must learn a new programming language, Objective-C, if they hope to master the apps course. Stanford students take a year of computer science classes and learn the technique of object-oriented programming before tackling the iOS development class.
Two Stanford prerequisite courses, Programming Methodology and Programming Abstractions, are available on iTunes U.
Nikil Viswanathan, a computer science student, said that the class is "really, really, good" in large part because Hegarty doesn't just teach students a new language, he teaches the "philosophy of how we program in Objective-C" and "puts it into the context of entire computer science program."
Most introductory computer science classes are abstract, but Objective-C is used to build applications for mobile devices, so students learn the programming basics and apply them right away. "I don't think that what I'm doing is just teaching them programming," Hegarty said. "It's an opportunity to teach them some computing fundamentals in a real world environment."
Hegarty said he enjoys that so many people benefit from the work he puts into preparing the course. "You really feel like as an instructor that the work gets leveraged," he said. "It's really rewarding."
Sarah Jane Keller is a science-writing intern at the Stanford News Service