This was an incredible resource for me, and if you’re looking to really learn the proper way to write code for the iPhone & iPod touch, you need to digg this article and then download the videos from Stanford U.
The news from Stanford University this week that the free video podcasts of computer science course CS 193P — iPhone Application Programming — have been downloaded a million times is at once a bigger deal, and a smaller one, than it seems.
Smaller because the number is a little bogus. The university is counting each video separately, so although the total is more than a million — 1.2 million to be precise — that’s the sum of all the course videos (15 so far). A far smaller number of people, 186,500, downloaded the introductory lecture. More recent lectures, representing the meat of the semester, have a sustained download rate of more than 200,000 per class.
But the fact that 200,000 armchair coders are auditing a university level iPhone programming course — many of them doing the assignments and meeting after class in the Google auditors study group — is still pretty mind boggling.
The course, taught by a pair of engineers on loan from Apple (AAPL), packed a lecture hall when it began on April 1 and was quickly oversubscribed. But the podcasts, available here, opened it up to the masses.
Having muddled my way through the first couple lectures, I can tell you that this is not easy material. As prerequisites it assumes that you’ve taken both Stanford’s introductory and accelerated object oriented programming courses, and it launches fairly rapidly into the arcana of Objective-C and Cocoa Touch: classes, instances, methods, ivars and a lot of brackets, curly and square.
In another lifetime I had a summer job at BBN, where Seymour Papert and Wally Feurzeig were developing Logo, a dialect of the programming language Lisp. Logo was designed to be easy enough for children to master, and Papert’s big idea was that early exposure to programming in Logo could help kids learn how to model problems and construct creative solutions — in other words, how to think.
There was a lot of discussion then, and in the years that followed, about what the proper role of computers in the classroom ought to be. Should kids should be taught to program the things, or should they learn more practical computer skills, like how to use a word processor?
Word processing, for the most part, won out — with a little ill-formed Basic thrown in for the after-school crowd. The result, to vastly oversimply the situation: an education system that turns out lots of graduates qualified to fill low-paying jobs in the typing pool and a shortage of first-rate software developers.
Lego blocksSo the idea that anyone with a Mac, half a brain, and some spare time could download these lectures, learn the elements of Objective-C, snap together the pieces of an iPhone application like so many Lego blocks, and make real money on the App Store had a certain appeal to me. And, apparently, to a couple hundred thousand others as well.
If so, they soon learned, as I did, that programmers’ tools may be more sophisticated than they were back in the day, but none of this is a snap.
“Writing good code is as hard today as it was 20 years ago,” says Stanford lecturer Julie Zelenski, the university’s liaison for CS 193P. “There’s some additional scaffolding to help you build things, but the bar for building what’s considered an acceptable program is higher too.”
So how many of those 200,000 online auditors will actually finish the course, write an original app, and get it up on the App Store?
As first approximation, more than 50,000 people paid Apple $99 for an iPhone developers license and 11,735 have published something on the App Store — a ratio of about 5 to 1. That’s roughly the same ratio of Stanford undergraduates who take the School of Engineering’s introductory programming course and end up pursuing a career as a developer.
Zelenski says she would be very surprised if CS 193P yielded anything close to that. She figures that of the 200,000 who gave the course a look, perhaps 100,000 have been keeping up with the material. Of those, she estimates, fewer than 50,000 will try to write anything original. “If 5,000 get something on the App Store,” she says, “We’re doing above average.”
At last count, according to 148Apps.biz, the App Store’s 11,735 developers had published 43,465 applications, of which 40,365 are still active.