This course provides a comprehensive introduction to computer vision. It is therefore primarily concerned with the problem of capturing and making sense of digital images. The field draws heavily on many major subjects including digital image processing, artificial intelligence, feature extraction and selection, image classification and recognition, and scene understanding. This course also provides an introduction to deep learning with neural networks which are currently being used in the development of real-world computer vision systems that mimic the capabilities of the human eye-brain system. Students will learn and develop the intuitions of computer vision methods in class as well as hands on experience to solve real-life vision problems.