This course explores modern reasoning techniques for the extraction of information from noisy data sources, for the integration of multiple information streams, and for decision-making in the presence of uncertainty. While this course will investigate these techniques often in the context of physical sensor applications and robotics, they are also applicable in a wide range of other fields including mobile networking, data mining, and control of physical processes.