This course is an introduction to low and intermediate level Computer Vision. We will learn how to design algorithms that process visual scenes to automatically extract information. The course will cover fundamental principles and important applications of computer vision, including image formation, processing, detection and matching features, image segmentation, and multiple views.
Hours: Tuesdays – Thursdays, 6PM – 7:15PM 
Instructor: Fabrizio Santini
Office hours: After every class 
Prerequisites: Algorithms and data structures, basic linear algebra, rudimentary knowledge of Matlab
Teaching assistant: Rahul Rajendran

TA Office hours: Monday, 1PM – 3PM, Halligan 127

Course Goals

By the end of the semester, students should be able to: 

  1. Identify and understand the fundamental aspects and techniques of Computer Vision 
  2. Interpret and analyze a given problem using these techniques 
  3. Adopt and Implement the appropriate techniques to solve a given problem 


We will loosely follow chapters from the books below:

  1. Computer Vision: Algorithms and applications by Richard Szeliski. The book PDF is freely available online (
  2. Computer Vision: A modern approach (2nd edition) by David Forsyth and Jean Ponce

Problem Sets, Tests, and Projects

Problem sets: Five (5) problem sets (roughly matching the major course sections) will be given during the class. Any material regarding the set solution will be submitted electronically. Homework will be due one week from assigned date at midnight. Late assignments are penalized at 20% for each 24 hours’ delay. No homework will be accepted after one week. If serious illness prevents you from completing a homework assignment on time, you should report your illness using the Illness Notification Form1, after which alternate arrangements can be made. Illnesses of this severity must be reported before the assignment in question is due.

Tests: There will be three (3) tests over the course of the semester (see the tentative schedule below). The tests will be a combination of multiple choices and open‐ended answers. Books must be closed and no electronic devices are allowed. If, for any reason you must miss a test, you must inform me before the day of the exam and schedule a make‐up session. Please Note: If you wish to dispute a grade, it is mandatory that you do so within one week of receiving the grade. After such a term, the grade will be considered final.

Final projects: This course requires a final project that will be presented at the end of the semester. A list of suggestions will be available on Piazza as soon as possible. Students are encouraged to propose a topic or a specific problem they would like to solve. However, in such a case, the student is strongly advised to present his/her idea to me first. It is possible that the difficulty of the project might exceed the level set by this class.

Final grades: You must show proficiency in all grading areas to pass the class. A failing average (below 50%) in any of the grading areas (problem sets, tests and projects) will result in a failing grade in the class.

Your final grade will be determined using the following percentage breakdown:

Problem Sets 30%
Tests 40%
Final Projects 30%
Behavior and Attitude Matters a great deal


Piazza will be our primary mean of communication. All course announcements will also be made through Piazza.

Rather than emailing questions to the teaching staff, we encourage you to post your questions as a public discussion. You are also encouraged to help each other, as long as the question does not contain any code or portion of a problem set answer. In such a case, the question must be made private (please, refer to the section Academic Honesty below).

To schedule office hours outside the posted times, please email any of the teaching staff or post a private message on Piazza.

Academic Honesty

Science is, to its core, a collaborative effort. The advantages of coming together for examination or comparison, sometimes even just to explain the problem, are well known. I strongly encourage students to discuss course material, problems, and applications outside the classroom with the teaching staff and other students. You are also encouraged to form study groups for the tests.
Having said that, integrity and honesty are equally important qualities of any future academic, scientist or engineer. We take plagiarism very seriously. You must do homework, the problem sets and the final projects on your own. If you need help, the teaching staff will be more than happy to help you!
We are required to report any suspected violation of academic integrity to the University's Judicial Officer. As described in Tufts' brochure on academic integrity, penalties for violation can be very severe, including suspension or expulsion from Tufts. If any student does not understand these terms or any outlined in the Academic Code of Conduct2, it is his/her responsibility to talk to the instructor.