Students in this Mobile Application Development course download the custom, instructor-created mobile app to their mobile Android device. The goal of the app is to demonstrate mobile app functionality as a way to complement lecture presentations and to provide tools for experimenting with these ideas during class. Many of the concepts in mobile application development are new and unique. Demonstrations help to make these concepts real and exercises help students understand how to apply these concepts in their own programs.
The components in the course application have been carefully designed to work on a wide range of Android devices. Students in the course have devices ranging from small phones to ten-inch tablets. The activity layouts are designed to provide good functionality over this range of devices and to show students how applications can be designed to work over a range of devices.
The CSE 476 Course Application is available to students for free from Google Play. Distribution via Google Play allows the instructor to update the application over the course of the semester. Updates are automatically pushed to student’s mobile Android devices within 24 hours. The application is under continuous development during the semester. Currently there are 12 different activities.
For example, the Android operating system assumes most user applications are used full-screen or in a fixed screen area. Layout of these screens is a complex, confusing, and often frustrating task. The app provides two different activities that allow students to experiment with creating layouts. The basic layout activity was the first one created and has the advantage that options are limited. Students are not creating a layout, but rather manipulating the parameters for a simple fixed layout. The focus of experimentation can be entirely on the parameters and their unique meanings. However, students also need to understand how to structure layouts. The second layout activity allows students to create their own layout structure using a significant subset of the available layout components.
Other activities help students learn to use the internal Android drawing tools, demonstrate the workings and mathematics of touch and multitouch, and allow students to enter both PHP and SQL programming language statements in class. Each activity is directly associated with concepts covered in class and later utilized in assignments.
The app is very new and the initial focus was on producing useful tools for the classroom that operate independently in the device. However, there is a great potential for using the communications capabilities of the devices to make the classroom experience more interactive. The app now includes the ability to capture a screen and send it to a server, allowing students to submit activity results that the instructor can access and display on a projector. This greatly enhances the use of the devices during class.