The widespread use of mobile and wearable devices such as mobile phones and smart watches enables the design and implementation of an endless set of novel services and applications. The goal of this course is to present the main building blocks of such services and applications and to discuss the challenges that arise on the path towards their realization. Following an overview of typical mobile services and applications the focus will be devoted to the most significant technologies, including hardware platforms, programming environments and tools. Relevant aspects related to the design and development of a mobile application, including the handling of sensors, the design of user interfaces, the management of local and remote sensor data storage, privacy and security issues will be investigated and addressed. To gain practical hands-on experience, students will learn during dedicated tutorials how to design, implement, and demonstrate Android-based mobile applications.