Location-based programming

Recently, I have been interested in utilizing GPS enabled mobile devices to motivate and teach software engineering concepts to our 3rd year JCU students. This has also lead me to an interesting area of research: can mobile devices positively influence the learning patterns of students, with respect to programming and design methodologies. Over the page 2-3 years, we have developed a framework that incorporates the use of mobile phones and mobile phone emulators that our students use to test their project code. Our students write java programs using mobile device emulator software such as netbeans IDE, and then as their code becomes more functional, we offer them the ability to test they programs on a small number of nokia mobile phones (currently we use nokia 3230).

GPS data is used to facilitate location-based programming (our GPS devices are currently GlobalSat BT-338 bluetooth GPS devices). Currently, we focus the student efforts towards location-based game projects. In 2005, students developed a version of the well-known "connect-4" children game, as a two-player game played over mobile phones.



In 2006, students developed a version of the well-known "battleships" game, as a two-player game played of GPS enabled mobile phones (to make the job of the students easier, I provided my students with a custom-made java GPS library). Of the four student project groups, one group produced code fit enough to run some tests on the actual phones. Below you see images from our "Battleship by Foot" paper.



This year, 2007, I intend to capture the imagination of the students by offering a project about: "metrogaining". Based on the concept of Rogaining (long distance, cross-country navigation game). The objective is to collect the highest score, by finding checkpoints within a set time limit. Various checkpoints have different score values. Teams of 2-5 people travel by foot, navigating by a map and compass. Each team decides how and where to look for checkpoints. In our version of the game, student project will aim to develop mobile programs that use GPS data for positioning information, and the phone's image capturing capabilities to take pictures of the "checkpoints" results are then submitted to a central server for tallying.