Friday, October 7, 2011

University of Virginia

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.
http://www.cs.virginia.edu/~sherriff/cs4720/


posted by Mark Sherriff, Assistant Professor, Computer Science, University of Virginia

Tuesday, October 4, 2011

The Computer Science and Engineering department at the University of North Texas

The Computer Science and Engineering department at the University of North Texas (http://www.cse.unt.edu/) has begun its second year of CSCE 3410 - Advanced Programming: Android Devices. The class has been very popular, with each student responsible for creating an app over the course of the semester. Very few restrictions are placed on what the students can create, and several really good ideas have come from the class, including phone silencing based on location, communication with motorcycle helmets, and physics based games, with several apps available in the Market.

I try to approach the course from both a technology and business perspective, focusing not just on the code, but on interface, usability and usefulness. We have recently focused on apps for specific industries that students may have experience with outside the classroom based on their work or hobbies. We also frequently have industry visitors who share their needs for mobile technologies, and students have formed several partnerships with outside ventures and later secured jobs with these companies. The course has served to greatly strengthen the school's ties to industry.

The University of North Texas also has a very active set of game programming courses (http://larc.unt.edu/), and many students port their games to the Android platform.
I also created a small app to use as a demo and help the students learn Android programming:
https://market.android.com/details?id=com.mobileworldrecords.mwr

posted Ryan Garlick, PhD
Principal Lecturer, Advisor
Department of Computer Science and Engineering
University of North Texas