Many undergraduates enter a university experience with little or no computer
science knowledge. However, the explosion of the smart phone market means that many
students carry phenomenal computational power in their pockets. Most are simply users
of these devices, with the associated loss of agency [4, 7]. Computer Science majors and
minors can learn the intricacies of industrial-strength mobile application development
tools such as Java, Eclipse, Objective-C, and XCode [e.g. 3, 5, 6]. The tools and
techniques of professional mobile application development require too much background
knowledge to introduce in a one-semester introduction to computer science concepts.