CSCI 4237 - Software Design for Handheld Devices is a George Washington University, Department of Computer Science course in developing applications for modern day smartphones. This class will be a rigorous examination of the tools and techniques used for programming mobile devices in Java. The student will develop programs for a number of different phones including BlackBerry and Android phones. Attention will be given to the details necessary for developing fully functional applications such as games and business tools. Programs will be developed to run within the emulators that are part of the development tools, however real devices can be used if the student wishes to provide their own. We will also pay specific attention to topics that are unique to handheld devices: designing for limited screen size and constrained resources, cross platform development, portability, on-device testing and performance issues.