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.