Introduction to Mobile Computing

(CMSC 628)

Course Summary

Mobile phones are one of the most ubiquitously used devices around. With different brands like the Android, Windows Mobile, and the iPhone, mobile phones have revolutionized the way we look at computing. There are thousands of applications such as social networking and games that have cropped up on mobile phones. With the help of cloud services, even sophisticated applications such as multi-player games, image processing, and speech processing has become feasible. This course will cover mobile phone programming components like UI programming, data management, localization, and programming sensors like the accelerometer and compass, mobile OS services, and mobile phone games from a systems and implementation perspective. Students will also learn how to use cloud services in applications. The course will focus on the Android platform. Android tablets may be given out based on availability. The evaluation of the course will include a in-class midterm, three assignments, and a final project (mobile phone application of your choice). This will be a very hands on course where the students should learn to write fairly sophisticated applications on mobile phones. The course will culminate in a Poster/Demo session where groups will demonstrate their mobile application to an audience. (To get some idea on the complexity of the projects, see the demos and video from a pervious incarnation of the course taught at UA here and here . Prerequisite: Operating Systems and a strong programming background in an Object Oriented Language like Java or C#

Grade distribution (Assignments: 35 points, In-class midterm: 20 points, Final Project: 35 points, Inclass discussion: 10 points)

Discussion Group : Piazza

Class Time (Nilanjan Banerjee): Tuesday, Thursday (1:00 - 2:15), ITE 233

Office hours By appointment

TA: Siraj Menon (siraj1 AT

TA Office hours: Tuesday (9:30pm-11:30pm), Thursday (3 PM-5PM) ITE 349 or by appointment

Demonstration from last semester's project