This course explores how computers understand the visual world, emphasizing probabilistic, statistical, and data-driven approaches in computer vision. Covering image processing, segmentation, grouping, recognition, and motion estimation, it aims to automate tasks analogous to the human visual system. The curriculum progresses from basic image processing to advanced topics like multiple view geometry, focusing on machine learning methods, particularly in supervised learning and classification. The learned algorithms have broad applications beyond vision problems, making them valuable tools for diverse challenges.