INFO: 290T: Computer Vision, Spring 2025


Description: This course introduces the theoretical and practical aspects of computer vision from the basics of the image formation process in digital cameras, through basic image processing, space/frequency representations, and techniques for image analysis, recognition, and understanding.


Prerequisitve: A strong foundation in linear algebra, calculus, and coding in Python.


Course Time: Tu, 12:30-3:30, 205 South Hall

Course Instructor: Hany Farid
Office Hours: Tu, 3:30-5:30 (or by appointment), 203A South Hall

Course Staff: Sarah Barrington
Office Hours: M 3:30-4:30, Th 11:00-1:00, room 6 South Hall


Format: Lectures will be delivered asynchronously (see below), and class time will be used to review lecture material, answer questions, review assignment solutions, and weekly quizzes.


Zoom: I will not record lectures. If, however, you are not feeling well and/or have cold/flu/covid symptoms, please do not come to class. Instead, please notify me and I will open a zoom room so that you can attend class virtually.


Software: All course assignments will be done in Python using Jupyter Notebooks. Please install Python 3 and Jupyter Notebook on your computer. Please also install the following Python libraries: imageio, numpy, matplotlib, opencv-python, scipy, scikit-image, and scikit-learn.


Questions: We will use edstem as our online platform for course discussion. I strongly encourage you to ask and answer questions here. Please be sensitive of the honor code and do not post your code or solutions. I and the course staff will regularly monitor edstem and answer unanswered questions in a timely manner.


Academic Integrity: All work that you submit must be your own. You may not download, copy, or reproduce, in any way, code or solutions that you find on-line or from a fellow or former student or as generated by an LLM like ChatGPT. Submitting any work that is not entirely your own is a violation of Academic Integrity. You will generate and submit sample output of your code. Altering this output in any way to be inconsistent with your code is a violation of Academic Integrity.

You may not publish or post any of your assignments or course solutions onto any publicly accessible websites. Such postings only fuel violations of the academic integrity policy in future semesters. Violations of Academic Integrity will be taken very seriously. Independent of any Univeristy consequences that may result from a violation, violations may also lead to a failing grade in the class.


Grading: There will be 12 in-class quizzes worth 30% of your grade (you must be in class to receive credit; your two lowest quiz grades will be dropped from your final score), seven assignments throughout the semester worth 35% of your final grade, and one project worth 35% of your final grade. There will be no exams.


Assignments: In order to increase flexibility, I have posted all of assignments. I would ask, however, that you use office hours to ask only about current assignments. All assignments must be submitted by the specified deadline (Tuesday at 12:30 pm), late assignments within 24 hours of the deadline will be penalized 50%. Please submit all assignments to bCourses. Because there are nearly weekly assignments, please be careful not to fall behind if you use an extension.


Syllabus (subject to minor change)
You should watch the videos associated with each week [mm.dd] of class, and come to class ready to discuss the material. The weeks are partitioned by topic which means that some weeks will have longer videos than others, so please be careful not to fall behind.