Mobile devices such as mobile phones, smart watches, and other wearable devices can interact seamlessly by relying on available communication infrastructures. This course focuses on challenges and opportunities arising from the use of systems of mobile devices or “mobile sensing systems”. Following an overview of applications enabled by mobile sensing systems 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 sensing system, 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. In order to gain practical hands-on experience, students will learn in the lab sessions how to design, implement, and demonstrate Android-based mobile sensing applications.