CSEE professor Nilanjan Banerjee’s new Introduction to Mobile Computing class gives Computer Science students the skills to break into the exploding field of mobile application development.

Nokia Lumia 920phoneToday, more than 125 million Americans own a Smartphone. That’s nearly 40% of the 315 million people living in the United States. And, those numbers are only growing.

For these millions of Americans, their phone is so much more than a tool for making phone calls. It’s a personal planner and a video game console; a GPS and an MP3 player. These days you can download Smartphone applications to add almost any type of functionality to your phone. Dr. Nilanjan Banerjee’s new Introduction to Mobile Computing class is inspired by this growing trend. In it, Dr. Banerjee is teaching students how to create helpful and inventive Smartphone applications.

First, the course teaches mobile phone programming essentials like UI programming, data management, localization, and programming sensors like the accelerometer and compass, mobile OS services, and mobile phone games.

Then, students work in teams of two to dream up and build unique applications for the Windows 8 platform and android platform. “Mobile System development requires strong programming skills, knowledge of networking and OS, working with phone sensors, and user interface design,” explains Dr. Banerjee. “I hope that the students will learn how to use these concepts together to build real applications.”

BanerjeepicThe class is partially supported by Microsoft’s Project Hawaii Initiative. The benefits of this partnership are two-fold. First, it supplies the class with fifteen Nokia Lumia 920 phones for app building. Second, the partnership gives students access to Microsoft’s set of cloud services, which allows students to create more complex smartphone applications. 

“Complex mobile applications like image processing or text-to-speech require computational resources which may not be available on Smartphones,” explains Dr. Banerjee. “Hence, they leverage cloud services—these are services such as a text-to-speech engine resident on powerful backend servers.”

When Dr. Banerjee taught Introduction to Mobile Computing at the University of Arkansas, students produced a range of creative applications. One team created a remote security system for cars (pictured left). The system used a Smartphone to remotely control a video camera placed inside of the vehicle.  

Another student created Project Pond, simple touch-based game (pictured right). In the game, players use their fingertips to create ripples in a simulated pond. As the game progresses, the player must use the ripples to destroy enemies like crawfish, red tadpoles, and dragonflies.

While dreaming up application ideas, the sky is the limit for students. Dr. Banerjee only requires that the applications solve Pondscreenshotreal world problems and use sensors available on the phone.  All the applications must be demonstrated in a Poster/Demo session that will be organized at the end of the semester.

Dr. Banejree, himself an iPhone user who swears by the Maps application, says that knowing how to create these applications is a huge asset for Computer Science students today. “The importance of the field can be seen by the simple fact that smartphone/tablet sales have surpassed desktops now,” he says. “With the advent of more computationally capable phone platforms, integration of sensors in smartphones, and advancements in cloud computing, it is clear that this field is going to grow in importance in the coming years.”