This course will introduce students to the field of Ubiquitous Computing - an emerging CS research area that draws from Machine Learning, Signal Processing, Sensor Systems, Hardware Prototyping, Mobile Computing, Embedded Systems, and various application areas including Human Computer Interaction, Sustainability, Medicine, as well as from Psychology, Economics and Sociology. We will discuss various Ubicomp solutions to real-world problems, advanced prototyping techniques, data collection approaches, signal representation, modeling, and evaluation.