0% found this document useful (0 votes)
7 views7 pages

Computer Vision Course Syllabus 2025

CS 180/280A is an advanced undergraduate course focused on computer vision and computational photography, covering topics such as image processing, analysis, and synthesis. Students will engage in hands-on programming assignments and are expected to have prior knowledge in Python, linear algebra, and multivariate calculus. The course emphasizes academic integrity, inclusion, and provides various resources for student support.

Uploaded by

Matt Matusiewicz
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views7 pages

Computer Vision Course Syllabus 2025

CS 180/280A is an advanced undergraduate course focused on computer vision and computational photography, covering topics such as image processing, analysis, and synthesis. Students will engage in hands-on programming assignments and are expected to have prior knowledge in Python, linear algebra, and multivariate calculus. The course emphasizes academic integrity, inclusion, and provides various resources for student support.

Uploaded by

Matt Matusiewicz
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

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.

Common questions

Powered by AI

Creativity is essential in CS 180/280A, reflecting in its project-oriented nature where students must develop solutions from scratch without starter code, encouraging innovative problem-solving . The course expects students to engage in projects that demand creative application of theoretical concepts, culminating in developing portfolio websites that showcase their unique approaches . Thus, creativity underpins both the process and the outcomes of student work in the course.

Proficiency in Python is critical because the course requires students to derive math, implement algorithms from scratch, and apply these to their own photos . Knowledge in linear algebra and calculus is essential for understanding mathematical concepts like convolutions, filtering, and image transformations, which are core to image processing and computer vision . These skills ensure students can tackle the computational and analytical challenges presented in the course projects .

The grading structure for CS180/280A assigns 50% of the grade to programming projects, emphasizing practical application and project-based learning . Additionally, 20% is based on midterms, 25% on final exams, highlighting the importance of theoretical understanding. A small portion, 5%, is attributed to pop quizzes that encourage consistent engagement with course content . This structure ensures a balanced evaluation between applied skills and theoretical knowledge.

CS280A is intended for a broader audience, including Master's students, focusing on foundational aspects of image processing, whereas CS280 is more specialized, targeting PhD students with a focus on detailed image recognition topics and advanced learning-based 3D vision . This differentiation means that students in CS280 will engage in deeper research-oriented tasks, whereas CS280A provides a platform for students to gain a broad understanding of the field .

Creating an inclusive learning environment is essential to ensure that all students feel respected and supported, recognizing diverse perspectives and backgrounds . This course aligns with UC Berkeley's resources by encouraging students to discuss any barriers, contacting faculty or the Disabled Students' Program for accommodations, and utilizing various support centers for academic and personal challenges . Such policies and resources cater to comprehensive student support, promoting a positive and inclusive educational experience.

The course covers foundational topics such as image formation and camera basics, convolutions and filtering, image and video processing techniques, and advanced themes like 3D vision and image-based rendering . These topics are essential as they provide a comprehensive understanding of how visual data is acquired, processed, and synthesized, giving students a solid grounding in both the theory and practical applications of computer vision and computational photography .

The course underscores that leveraging AI tools like chatGPT to directly write assignment code is considered cheating, as this bypasses the learning process . Ethical considerations also emphasize the importance of academic integrity and the personal understanding of material, given that exams are structured to test comprehension of concepts applied in assignments . However, creative use of AI for enhancing presentation aspects in portfolios is encouraged .

Academic integrity is central to CS 180/280A to ensure originality and fair assessment of student work . Students are advised not to share or copy code, to attribute all external sources properly, and to avoid unauthorized assistance, as violations can have severe consequences for future opportunities . The course emphasizes personal responsibility in maintaining these standards, reflecting the value placed on individual merit and ethical scholarship.

The course supports exam preparation by providing optional but highly encouraged discussion sessions to help students understand challenging material . Office hours with instructors following lectures offer additional support, and students are recommended to engage actively in them . These resources aim to reinforce students' understanding and alleviate the potential difficulty of the exams.

Hands-on programming assignments are significant as they allow students to apply theoretical concepts to practical scenarios, such as acquiring and processing their images to develop analysis and synthesis tools . This experiential learning aligns with course objectives by enabling students to build intuitive mathematical and computational understanding through real-world application, reinforcing foundational knowledge in computer vision and computational photography .

You might also like