CS 180/280A
Introduction to Computer Vision and Computational Photography
Syllabus
Instructors: Alexei Efros Fall 2025
Angjoo Kanazawa Tues Thurs 12:30 - 1:59PM
GSIs: Konpat Preechakul Location: Haas Faculty Wing F295
Justin Kerr Course Website
Brent Yi Ed
Chung Min Kim Gradescope Code: VWX283
Tutors: Jorge Diaz Chao
Jingfeng Yang
Natalie Wei
Jameson Crate
The aim of this advanced undergraduate course is to introduce students to computing with visual data
(images and video). We will cover acquisition, representation, and manipulation of visual information
from digital photographs (image processing), image analysis and visual and spatial understanding
(computer vision), and image synthesis (computational photography). Key algorithms will be presented,
ranging from classical (e.g. Gaussian and Laplacian Pyramids) to contemporary (e.g. ConvNets, Diffusion
Models), with an emphasis on using these techniques to build practical systems. This hands-on emphasis
will be reflected in the programming assignments, in which students will have the opportunity to acquire
their own images and develop, largely from scratch, the image analysis and synthesis tools for solving
applications.
The course objective is to get a foundation in image processing and computer vision as well as build a
more intuitive understanding of mathematical and computational concepts. Topics discussed include:
1. Camera basics, image formation
2. Convolutions, filtering
3. Image and Video Processing (filtering, anti-aliasing, pyramids)
4. Image Manipulation (warping, morphing, mosaicing, matting, compositing)
5. Projection, 3D vision, stereo, multi-view geometry, NeRFs
6. Image-based Rendering: Plenoptic Function, Lightfields,
7. Basics of recognition: ConvNets
8. Gradients, change of basis, interpolation, extrapolation, PCA, FFT
9. Generative models: diffusion models
Disclaimer
Assignments in this course will require Python coding without starter code. This course will not teach
you how to code, and you are expected to already know how to program in Python.
Prerequisites
This is a heavily project-oriented class, therefore good programming proficiency (at least CS 61B) is
absolutely essential and required. Moreover, working knowledge of linear algebra (MATH 54, Math 56,
Math 110, or EECS 16A) and multivariate calculus (e.g. Math 53) are vital. Experience with machine
learning and neural networks is required in the second part of the course. You must have been taken or
are currently taking CS 182 or CS 189. Due to the open-endedness of this course, creativity is a class
requirement.
Materials / Textbooks
Textbooks:
- Foundations of Computer Vision by Torralba, Isola, Freeman,
- 2nd edition of Computer Vision textbook by Rick Szeliski.
If you need a refresher of linear algebra, please see Gilbert Strang's online class.
Grading
CS180:
- 50% Programming Projects (5 in total)
- 20% Midterm (See course site for date)
- 25% Final Exam (held during finals week, December 19th)
- 5% Pop Attendance Quizzes
CS280A:
- Same as above, but with required projects bells and whistles
- Different grading curve than CS180
The midterm and final exams are expected to be more challenging than the past offerings. We offer
optional but highly encouraged discussion sessions to help prepare students for this. Students will be
allotted a total of 5 (five) late days per semester with each additional late day incurring a 10% penalty.
Quizzes are graded for completion only, and the worst score will be dropped
Projects
There are 5 projects. All projects are to be done solo. We expect you to derive the math, implement
algorithms from scratch, apply your code to your own photos, and create a portfolio website.
What is the difference between CS280A and CS280?
The CS280A course is the mezzanine (e.g., taken by many Master's students, and possibly by PhD
students who want a broad overview and fundamentals in image processing), and the CS280 course is
the PhD/research-focused course (e.g., reading research papers in the field, primarily targeted at PhD
students). In particular, CS280 gets more into the details of image recognition topics such as object
detection, as well as more learning based 3D vision, and covers more advanced topics such as
transformers and multimodal models in vision. You will also get to do your custom final project in
CS280.
Lecture & Office Hours
This is an in-person course, so, unless the campus policy changes, lectures will be live and physical
attendance is required. There is no recording at all (recording is not supported in our classroom this
semester). Consult the CS 180 course website for office hour times and locations. Alyosha / Angjoo will
have office hours after each lecture for half an hour.
Computational Resources
Students will be encouraged to use Python (with either scikit-image or opencv) as their primary
computing platform. Although it is not required, students are highly encouraged to obtain a digital
camera for use in the course.
Ed Etiquette
1. Search for the answer on Ed to see if it has already been answered before making a post.
2. Please post project questions only in the designated project posts.
3. Link/screenshot any external resources you are referencing.
4. Do not post answers/code in public Ed threads.
Chatbot/coding agents/LLM Policy
We hope you are here to learn! — if you use chatGPT to do all of your projects you won’t learn the
material very well, and the exams are designed such that doing homeworks earnestly and understanding
them will help you do well on exams. The point of the implementation is so you understand it!
We consider using chatbots to directly write the CV portion of your assignment code as cheating,
though AI is good enough that we can’t possibly catch you if you use these tools on your homework, so
to assess your understanding the exams are a large portion of the class. Exams might ask you to “write
code” which doing the homeworks will greatly assist in.
Using chatbots for creating your website writeup is not cheating, and we welcome usage which results in
more creative/exciting presentations!
Academic Integrity
You are a member of an academic community at one of the world’s leading research universities.
Universities like Berkeley create knowledge that has a lasting impact in the world of ideas and on the
lives of others; such knowledge can come from an undergraduate paper as well as the lab of an
internationally known professor. One of the most important values of an academic community is the
balance between the free flow of ideas and the respect for the intellectual property of others.
Researchers don't use one another's research without permission; scholars and students always use
proper citations in papers; professors may not circulate or publish student papers without the writer's
permission; and students may not circulate or post materials (handouts, exams, syllabi--any class
materials) from their classes without the written permission of the instructor.
Any test, paper or report submitted by you and that bears your name is presumed to be your own
original work that has not previously been submitted for credit in another course unless you obtain
prior written approval to do so from your instructor. In all of your assignments, including your
homework or drafts of papers, you may use words or ideas written by other individuals in publications,
web sites, or other sources, but only with proper attribution. If you are not clear about the expectations
for completing an assignment or taking a test or examination, be sure to seek clarification from your
instructor or GSI beforehand. Finally, you should keep in mind that as a member of the campus
community, you are expected to demonstrate integrity in all of your academic endeavors and will be
evaluated on your own merits. The consequences of cheating and academic dishonesty—including a
formal discipline file, possible loss of future internship, scholarship, or employment opportunities, and
denial of admission to graduate school—are simply not worth it.
You can discuss projects, but are not permitted to share code. You may not look up code or copy code
from any other source. If you have any questions regarding what is permitted, ask on Ed.
Inclusion
We are committed to creating a learning environment welcoming of all students. If you anticipate or
experience any barriers to learning in this course, please feel welcome to discuss your concerns with us.
We intend to support a diversity of perspectives and experiences and respect each other as an
individual regardless of their identities and backgrounds. To help accomplish this:
● If you feel like your performance in the class is being impacted by a lack of inclusion, please
contact the instructors, your ESS advisor, or the departmental Faculty Equity Advisor (list and
information at: [Link] An anonymous feedback
form is also available at [Link]
● If you have a name and/or set of pronouns that differ from your legal name, designate a preferred
name for use in the classroom at:
[Link]
● If you feel like your performance in the class is being impacted by your experiences outside of
class (e.g., family matters, current events), please don’t hesitate to come and talk with the
instructor(s). We want to be resources for you.
● We are all in the process of learning how to respect and include diverse perspectives and
identities. Please take care of yourself and those around you as we work through the challenging
but important learning process.
● As a participant in this class, recognize that you can be proactive about making other students
feel included and respected.
If you have a disability, or think you may have a disability, you can work with the Disabled Students'
Program (DSP) to request an official accommodation. The Disabled Students' Program (DSP) is the
campus office responsible for authorizing disability-related academic accommodations, in cooperation
with the students themselves and their instructors. You can find more information about DSP, including
contact information and the application process here: [Link]. If you have already been
approved for accommodations through DSP, please meet with me so we can develop an implementation
plan together. Please submit your LOA in the first week of class.
Students who need academic accommodations or have questions about their accommodations should contact
DSP, located at 260 César Chávez Student Center. Students may call 510-642-0518 (voice), 510-642-6376
(TTY), or email dsp@[Link].
CS180/280A DSP Policy: DSP Policy
Other Student Resources
Center for Access to Engineering Excellence (CAEE)
The Center for Access to Engineering Excellence (227 Bechtel Engineering Center;
[Link] is an inclusive center that offers
study spaces, nutritious snacks, and tutoring in >50 courses for Berkeley engineers and other majors
across campus. The Center also offers a wide range of professional development, leadership, and
wellness programs, and loans iclickers, laptops, and professional attire for interviews.
Counseling and Psychological Services
University Health Services Counseling and Psychological Services staff are available to you at the Tang
Center ([Link] 2222 Bancroft Way; 510-642-9494) and in the College of Engineering
([Link] 241 Bechtel Engineering
Center), and provide confidential assistance to students managing problems that can emerge from
illness such as financial, academic, legal, family concerns, and more. Long wait times at the Tang Center
in the past led to a significant expansion to include a 24/7 counseling line at (855) 817-5667. This line
will connect you with help in a very short time-frame. Short-term help is also available from the Alameda
County Crisis hotline: 800-309-2131. If you or someone you know is experiencing an emergency that
puts their health at risk, please call 911.
The Care Line (PATH to Care Center)
The Care Line (510-643-2005; [Link] is a 24/7, confidential, free,
campus-based resource for urgent support around sexual assault, sexual harassment, interpersonal
violence, stalking, and invasion of sexual privacy. The Care Line will connect you with a confidential
advocate for trauma-informed crisis support including time-sensitive information, securing urgent
safety resources, and accompaniment to medical care or reporting.
Ombudsperson for Students
The Ombudsperson for Students (102 Sproul Hall; 642-5754; [Link]
provides a confidential service for students involved in a University-related problem (academic or
administrative), acting as a neutral complaint resolver and not as an advocate for any of the parties
involved in a dispute. The Ombudsman can provide information on policies and procedures affecting
students, facilitate students’ contact with services able to assist in resolving the problem, and assist
students in complaints concerning improper application of University policies or procedures. All matters
referred to this office are held in strict confidence. The only exceptions, at the sole discretion of the
Ombudsman, are cases where there appears to be imminent threat of serious harm.
Student Advocate’s Office [Confidential]:
Provides free, confidential, student-to-student assistance for undergraduate and graduate students
navigating issues with academics, financial aid, accusations of misconduct, instances of harassment and
discrimination, and other grievances within the scope of the university.
Phone: (510) 642-6912 | Website: [Link] | Email: help@[Link]
UC Berkeley Food Pantry
The UC Berkeley Food Pantry (#68 Martin Luther King Student Union; [Link] aims
to reduce food insecurity among students and staff at UC Berkeley, especially the lack of nutritious
food. Students and staff can visit the pantry as many times as they need and take as much as they need
while being mindful that it is a shared resource. The pantry operates on a self-assessed need basis; there
are no eligibility requirements. The pantry is not for students and staff who need supplemental snacking
food, but rather, core food support.
Syllabus is a Contract and Subject to Change:
This syllabus is a contract that you, as an enrolled student in this course, agree to abide by throughout
the semester. You agree to complete the assignments in a timely manner in accordance with the
schedule printed in the syllabus and to participate in the class using proper student conduct and
netiquette. As part of this agreement, your responsibilities are printed clearly within this syllabus with
deadlines so that you will know well in advance when readings and assignments are due. The syllabus is
also subject to change if deemed necessary by the instructor. You will be afforded ample warning before
any new responsibility or assignment is due. Most often, a change to the syllabus will constitute a minor
change in reading materials or the cancellation of a day of class. If such a change occurs, a revised
syllabus will be made available to students and replace any old copies of the syllabus.