Writing applications for mobile devices using the Android operating system. Installing and using the Android SDK. Creating GUI layouts, menus and dialog boxes. Graphics and event handling. Interfacing with built-in GPS, accelerometer, audio and video. User and file input and output. Web interfaces and sockets. Writing native applications. Debugging native applications from a host. Preparing an application for publication. High-level programming will be performed using Java and XML. Native programming will be performed in C/C++. Programming in ARM-7 assembly language will be introduced. Prerequisites: CS-225 or CS-230. Some Unix/Linux experience is recommended. (3-0-3)