Introduction to Computer Vision
    CS5670, Spring 2024, Cornell Tech

Time: TuTh 1:25pm - 2:40pm
Place: Bloomberg Auditorium
Zoom link: See course Canvas page

Instructor: Noah Snavely (

TAs: Michelle Shu (head TA) (
Yen-Yu Chang (
Ruojin Cai (
Matt Franchi (

For full information and discussions visit the CS5670 page on Canvas

  Lectures Projects Class Resources  

The goal of computer vision is to compute properties of the three-dimensional world from digital images. Problems in this field include reconstructing the 3D shape of an environment, determining how things are moving, and recognizing people and objects and their activities, all through analysis of images and videos.

This course will provide an introduction to computer vision, with topics including image formation, feature detection, motion estimation, image mosaics, 3D shape reconstruction, object/face detection and recognition, and deep learning.

Applications of these techniques include building 3D maps, creating virtual characters, organizing photo and video databases, human computer interaction, autonomous driving, robotics, virtual and augmented reality, medical imaging, and vision on mobile devices.

This is a project-based course, in which you will implement several computer vision algorithms throughout the semester.


This course will be self-contained; students do not need to have computer vision background. However, the following are required:

  • Data structures
  • Working knowledge of Python
  • Knowledge of how to use git and GitHub (clone, pull, commit, push, etc)
  • Linear algebra
  • Vector calculus
Please send the instructor email or speak to me if you are unsure of whether you can take the course.


This course will have readings from Computer Vision: Algorithms and Applications (online), by Richard Szeliski (first edition [pdf], unless noted in the course notes).

Online Discussion

This class uses Ed discussions for announcements and discussions. Grades will be posted on CMS.

Honesty and Integrity Policy

Projects are to be done either individually or in groups of two, as specified in the project description.

Office Hours