This course introduces students to mobile computing and mobile application development. Students will be first provided with an introduction to mobility, wireless technologies and coverage mobile systems which include cellular networks (2G, 2.5G, 3G, 3G+, and 4G), mobile satellite communication networks, mobile IP, mobile TCP, digital audio-video broadcasting, and mobile TV. The mobile device architecture will be overviewed including processors and their instruction set architectures, bus and memory architectures, and I/O architectures. Students will be introduced to mobile device platforms including mobile OS, J2ME, mobile databases, client-server computing agents, application servers, and security protocols. User interface and user experience will be discussed and various application development guidelines will be discussed. Moreover, students will learn about common important topics in mobile computing such as energy management, mobility management, and location-based services.