Teaching CS courses with the Android environment has become increasingly popular as more and more students are showing up to class carrying their own Android device. At the University of Virginia, we were fortunate enough to start with a small set of phones that we lend out to students. So, now that we know we have phones (either ours or from students) how can we best put them to work in our classes?
The most straightforward answer is a software engineering class doing some sort of team-based project. But what we found at UVa that worked really well was to pair teaching Android and mobile with teaching web services.
The idea is that students would build a web service, and then consume that web service in their Android app. Then they would repeat the cycle for a second service, using a different web platform or language. Finally, students would have include a web service from another team in the class in their app, encouraging them to provide reasonable documentation and API.
So far, we are running this class for the second time now with Android and it has been a phenomenal success! Students are learning PHP and Ruby on Rails to create their web services, using SOAP/XML, and JSON to pass data between the services and the phones, and are also learning good mobile software design. Students enjoy the class and have a project that is easy to show off to potential employers when it is done.
So, if you or your students have Android phones, consider combining mobile with web services.
Mark Sherriff, Assistant Professor, Computer Science, University of Virginia