Study of mobile computing on smartphones with an emphasis on applications. These handheld Internet devices are poised to become the future dominant software platform as a result of the rapid convergence of computers and mobile phones. Topics covered will include mobile operating systems and development environments, input modalities and user interfaces for mobile devices, power management issues for mobile devices, wireless mobile networking, thin clients and mobile Web, location-aware and other context-aware services, and virtualization. A course programming project will be required.