This is an archived version of the CS131 website -- find the Fall 2021 offering's here »
[image] [credit]

Course Description

Ever wonder how robots can navigate space and perform duties, how search engines can index billions of images and videos, how algorithms can diagnose medical images for diseases, how self-driving cars can see and drive safely or how instagram creates filters or snapchat creates masks? In this class, we will explore all of these technologies and learn to prototype them. Lying in the heart of these modern AI applications are computer vision technologies that can perceive, understand and reconstruct the complex visual world. Computer Vision is one of the fastest growing and most exciting AI disciplines in today’s academia and industry. This 10-week course is designed to open the doors for students who are interested in learning about the fundamental principles and important applications of computer vision. We will expose students to a number of real-world applications that are important to our daily lives. More importantly, we will guide students through a series of well designed projects such that they will get to implement a few interesting and cutting-edge computer vision algorithms.

General Information

Class Time and Location


Tuesday/Thursday, 2:30 - 3:50PM
@Zoom • Question Form


Friday, 12:30 - 1:20PM

*See syllabus for dates


Link to details on when assignments are due and what will be taught every day.


Recommended but not required: Computer Vision: A Modern Approach by Forsyth & Ponce


Details on how to work on and submit each assignment.

Office Hours

Juan Carlos Niebles

4 - 5PM

11AM - 12PM

Book in advance

Jiajun Wu

Tuesday, Oct. 13
Tuesday, Oct. 20
Tuesday, Nov. 17
10 - 11AM

Book in advance

Brent Yi

4 - 7PM @Nooks

Austin Narcomey

9AM - 11AM @Nooks

2:30 - 3:30PM @Nooks

Shubhang Desai

4:30 - 7:30PM @Nooks

1:30 - 2:30PM @Nooks

Pranav Upadhyayula

9AM - 12PM @Nooks

Websites you should sign up for.

Course Discussions

Please use Piazza to ask questions you have throughout the course.


Submit your assignment notebooks and PDFs to Gradescope. The email associated with your Canvas account will be automatically added.

Grading Policy

Summary Assignments

Assignment 0 is a simple assignment to get you acquainted with Python and basic libraries we will be using in the course. Each assignment (1 through 8) will be worth 9% each. You will have one week to complete every assignment but all the assignments will be available 2 weeks before they are due. It will be due on Fridays at 11:59pm.


There will be no final exam this year. This exam (20%) has been replaced with the «Lecture Questions» and «Lecture Notes» components of your grade — details on these will be announced shortly.

Late policy

You will have a total of 7 late days that you can use in whichever assignments you prefer. There is a limit of 3 late days used per assignment, which means that the hard deadline for each assignment is on Monday at 11:59pm. Homeworks will still be accepted after your 7 late days have been used, but a 25% penalty will be applied for each additional late day.


Proficiency in Python (NumPy)

All class assignments will be in Python (with numpy.) Please review this NumPy tutorial to help with your assignments.

Linear Algebra (e.g. MATH 51)

We will use matrix transpose, inverse, rotation, translation and other algebraic operations with matrix expressions. If you are a quick learner you should be able to learn them during the class if you haven’t yet. We will have review sessions and provide review materials.

Calculus (e.g. MATH 19 or 41)

You’ll need to be able to take a derivative, and maximize a function by finding where the derivative=0.

Probability and Statistics (e.g. CS 109)

You should know basics of probabilities, gaussian distributions, mean, standard deviation, etc.

Course Calendar