The course provides a general introduction to the basics of computer vision and its modern engineering applications such as factory automation, infrastructure inspection, mobile-robot navigation, self-driving cars, and medical diagnosis. Students learn the theories, algorithms, and computational methods of computer vision, including (1) Sensor Selection, (2) Image Processing and Analysis, (3) Motion Analyses, (4) 3D Reconstruction, (5) Pointcloud Processing, (6) Feature Tracking, and (8) Object Detection. After learning theories and algorithms in lecture, students will have weekly problem sets to design computational methods for computer vision, write computer programs, and present their results. Students wrap up their learning experiences by working in a group on a course project of their choice.