When I was at WWDC last week one of the presenters put in a plug for the college course he taught at Stanford in the Spring of 2009. The course is iPhone Application Programming and all the course work, lecture videos and slides are publicly available online (You need iTunes for the videos). So when I got home I started downloading all the course stuff.
Now don't get me wrong, I consider myself a pretty good coder and I have already written some apps for iPhone (or I should say iPhone Simulator -- nothing publishable), but seeing these lectures (given by two Apple employees) has helped fill in some blanks not just in iPhone development, but Mac OS X development as well. For example, I always wondered why Objective-C files were stored in files with a .m extension. In one of the lectures I found out that .m is supposed to make you think of iMplementation. Stupid I know, but that kind of trivia mentally puts a puzzle piece into the big picture.
Most of the early lectures I have breezed through so far. And the early assignment apps are very easy for someone who has been doing Mac development for a little over a year, but I am going to soldier through. I can't wait to get to the more advanced topics. I am hoping for some other trivia.
"Taking" the class (even for no grade) also makes me realize how different college courses now must be from the time when I was in college. When I was finishing college (Dec 1995), the Internet was just about to spark in the mainstream. I used the Internet for research and help with programming, but not in the same vein as this class. For this class, in one of the assignment notes it mentioned going to Wikipedia to get some information when it would have been just as easy to post the info in the assignment notes. Also, the class wants you to write an iPhone app and submit it to the App Store if you think it is good enough. Some students actually did publish their apps.