This week was finals week for the summer semester at Washington University in St. Louis, and one event that I regularly enjoy attending is the iOS programming class final presentations. Being the summer term, it was a very compressed schedule: the students, some of whom are older and have full-time day jobs, have about a month to learn how to use the various Apple tools, spec out and code their apps.
I've gone to several of these final presentations in the past (here is a report from 2009) and I continue to be impressed with what the students come up with. Sure, there are the usual mishaps: code that doesn't compile, or last-minute hacks to add one more feature or tweak a particular icon to display properly. But the class is a great arena for preparing these senior computer science majors with what they are going to have to face in the real world.
The students have to propose an idea for their app, look around on the App Store to see what is currently available, put together a data and coding plan and then write the code. Often they have to access particular Web services and public APIs for their app, and these interfaces can and do change over the course of the course, of course. (Sorry.) One of the teams was trying to access information from the video streaming site Justin.tv, and lamented the lack of any programmatic connection. Another was wrestling with a badly formed series of RSS feeds. How many computer science grads could even think about these things, let alone debate these issues? It brought a smile to my face.
Over the six semesters that the instructor, Todd Sproull, has taught the class, he has had close to 150 students, and mostly male (last night was 100% guys). There is usually a waiting list, as there are only so many computers to go around. "The students have always been bright, but it seems that more of them are using tools from other courses and companies (Google and Facebook APIs as examples) to create more compelling apps," he said. Some of the class band together and program as a team. This creates a certain wow factor at the final presentation - "speaking to the power of teamwork," as Sproull mentioned. Others go it alone.
Some of the graduates have gone on to get great jobs: one student interviewed at Apple, and as a result of demoing their iPhone project, got hired. It helped that they were doing active debugging of the app during the interview. So much for asking silly questions like how many manhole covers it would take to pave over a baseball field and such. Almost all of these students go on to work in the industry, no surprise. Recruiters and others: take note and come take a look at these fertile fields in the future.
There are five apps from all of the classes that have been actually published on the App Store, with a few more awaiting campus approval. One of them is a dandy. It is called WU Map, and has the entire campus map right on your iPhone, as you can see in the screenshot. This is a little thing, but for those freshmen and people like me that aren't that familiar with the campus, it sure beats having to print out a map every time we have to visit. According to Sproull, several of these apps have at least made back their $100 listing fees paid by the students.
Sproull has done a better job preparing his students to understand Web data sources and how to get around some of the quirks of the Apple simulator, too. The summer class seemed to have more fun than in previous semesters, maybe it was just the concentrated amount of time that the students had for class together. One of the students had an app that would allow the user to note his favorite beers, geolocated to the bar that it was consumed. He found a database of more than 8,000 beers, and we joked that we could see that hands-on research really paid off with his app.
What surprised me was that only one of the apps presented was for iPads. This was an app that will be finished soon for the business school magazine. This was very polished, indeed looking better than many mag apps that I have seen from professional editorial operations. It used an RSS feed to grab the various articles from the magazine's Web site. The rest of the projects were focused on the iPhone.
The biggest hurdle these days has nothing to do with the quality of the code, however. It is about the ownership and approval of intellectual property of the student-created apps. The university is still cogitating on exactly how this transpires. There is some concern about a student intentionally (or even unintentionally) distributing a malicious app, and how the school will approve apps that get distributed on the App Stores.
Nevertheless, it was an enlightening evening, and I wish all these students well with their apps.