User Tools

Site Tools


The Apple iPhone SDK is apparently going to become quite important to teaching CS and Digital Media largely because this is a platform that students are interested in exploring.

  • In Pradip's class, there have already surfaced a number of ideas on how to use existing iPhone/iPod Touch apps in installations and experimental (what would you call it) social-technology settings.
  • Catherine Stewart is looking at the Apple iPhone SDK as an indie study, as a goal to shoot for.
  • At CCSC:MW 2008, Scott Grissom gave a presentation on “iPhone Application Development Across the Curriculum.”

Questions to explore:

  1. What are the barriers to using the Apple iPhone SDK, especially to students with at most a semester of programming instruction?
  2. How steep is the learning curve for 1) understanding the rather unique syntax of Objective-C and then 2) applying it to leverage the SDK libraries to get cool things happening?
  3. How can we make the learning curve gentler, and make this technology more accessible to our students?

Even though the Apple docs continually refer to the language as “simple” the main issues appear to be the unfamiliar syntax, the message-passing model of invoking object methods, and the C memory-management model using pointers, which always tripped up a good number of my intro C++ students. Note:I haven't read the garbage-collection paper yet.

One approach to questions 1 and 2 might be to give a few students with differing programming backgrounds a crash course in the syntax of Objective-C and evaluate how comfortable they are discussing the source code of a sample app. Or dispense with the crash course and just see how they do talking through what is going on in a short Objective-C sample.

Some Approaches to #3, some of which may already be out there:

  • Develop a web-based introduction to Objective-C/SDK which acts as a tutorial. Some existing examples: Gravity Tutorial for iPhone
  • Leverage software already there, such as JavaScript or Processing applets on Safari for iPhone
  • Building on the previous point, there is now a port of Processing.js on iPhone
  • The big one: provide a simplified front-end which can be used by students to generate Objective-C and/or SDK library calls using tactics similar to Processing. Could this be done in a timely manner with the resources we have available? By timely, I mean less than 5 years ;^)

Some references:

Inside the iPhone SDK (Ars Technica article)
Stanford CS course on iPhone SDK programming
News Item Apple's university program
Apple's Intro to Objective-C
Apple's Guide to Object-Oriented Programming in Objective-C
iPhone Development book from O'Reilly

simplified_frontend_to_iphone_sdk.txt · Last modified: 2009/03/09 09:18 by scarl