CSE 40535 is an upper-level Computer Science and Engineering course at the University of Notre Dame that introduces students to the field of computer vision. The aim of computer vision is to give computers the ability to "understand" what they "see" in images and videos taken by one or more sensors (most often visible-light cameras). The goal of this course is to introduce and discuss methods for interpreting the visual information captured by machines to give them this ability. The course is divided into four parts.

Part I: Introduction to Computer Vision

Defines the notion of computer vision, the progress made in this discipline in recent decades, current challenges, successful applications, and its limitations. We also discuss selected biological vision mechanisms as an inspiration to create better computer vision solutions.

Part II: Digital Image Processing

Explains the basics of signal processing from a computer vision perspective. This part includes image formation, image acquisition, understanding and effective use of color (and in general multi-wavelength) information, and image processing (filtering and segmentation).

Part III: Visual Recognition

Focuses on the automatic recognition of patterns. It covers feature extraction and selection, texture descriptors, Bayesian inference, classification, and decision making. In this part, we will also discuss how these tasks can be solved using deep learning techniques, analysing convolutional neural networks and selected modern neural network-based architectures. Finally, we will discuss the reliability of modern deep learning-based, generative, and image-to-image translation models.

Part IV: Multiple-view Analysis

Considers multiple-view and geometry topics in vision: motion analysis, including object tracking, projective geometry, camera geometric model, camera calibration, and 3D reconstruction.

 

After completing this course, students will be able to understand the computer vision literature, recognize the frontiers of state-of-the-art computer vision systems, and select appropriate mathematical and software tools to develop algorithms that solve the most important computer vision problems. Practical classes will utilize high-level programming languages (Python will be our main coding language) and popular computer vision tools and machine learning packages, such as OpenCV, Keras, Tensorflow, or Pytorch, to illustrate in practice selected topics discussed in class. The goal of the semester project is to exercise the entire computer vision pipeline on a selected vision problem. Special thanks go to Prof. Walter Scheirer and Prof. Adam Czajka. This version of the course was adapted from CSE 40535 Spring 2025, taught by Prof. Walter Scheirer, in turn adapted from the one originally developed by Prof. Adam Czajka.

Class Information

Lecture
M/W/F 12:50 PM - 1:40 PM
Location
356A Fitzpatrick Hall of Engineering
Slack
#cse-40535-sp26

Instructor

Instructor
Arturo Miguel Russell Bernal (arussel8@nd.edu)
Office Hours
M 2:00 PM - 4:00 PM, and by appointment
Office Location
326C Cushing Hall of Engineering

Teaching Assistants

Graduate Teaching Assistant
TBD (tbd@nd.edu)
Office Hours
TBD TBD, and by appointment
Office Location
TBD

Help Protocol

  1. Think
  2. Slack
  3. Think
  4. Email
  5. Think
  6. Office
Jan (W01-W03)
[05] [07] [09] [12] [14] [16] [19] [21] [23] [26] [28] [30]
Feb (W04-W07)
[02] [04] [06] [09] [11] [13] [16] [18] [20] [23] [25] [27]
Mar (W08-W11)
[02] [04] [06] [09] [11] [13] [16] [18] [20] [23] [25] [27]
Apr (W12-W15)
[30] [01] [03] [06] [08] [10] [13] [15] [17] [20] [22] [24]
May (W16-)
[27] [29] [01] [04] [05] [08] [11] [13] [15] [18] [20] [22]
Due-date labels
Homeworks
Practicals
Project
Final Exam

Click on the next to a topic for additional resources.

Unit Date Topics Assignments
Course Introduction 01/12 Course Organization Homework 00   Project 00
Introduction to Computer Vision
Field of Computer Vision 01/14 Introduction to Computer Vision Homework 01
01/16 Applications: CV for Emergency Response Scenarios
Biological Vision 01/19 Martin Luther King Jr. Day (No Class)
01/21 Biological Inspirations in CV Homework 02
Digital Image Processing
Image Acquisition and Formation 01/23 Image Acquisition Project 01
01/26 Color and Multispectral Imaging (Part 1) Practical 01 (Before-Class)
01/28 Color and Multispectral Imaging (Part 2) Bonus
Image Processing 01/30 Point Operators (Part 1) Homework 03
02/02 Practical 01 (In-Class)  
02/04 Point Operators (Part 2)
02/06 Neighborhood Operators (Part 1) Project 02
02/09 Neighborhood Operators (Part 2) Bonus
02/11 Neighborhood Operators (Part 3) Homework 04
02/13 Edge Detection and Linking (Part 1) Bonus
02/16 Edge Detection and Linking (Part 2) Practical 02 (Before-Class)
02/18 Image Segmentation Homework 05
Visual Recognition
Feature Extraction 02/20 Extraction of Visual Features (Part 1) Project 03
02/23 Practical 02 (In-Class)
02/25 Extraction of Visual Features (Part 2)
02/27 Extraction of Visual Features (Part 3) Practical 03 (Before-Class)
Geometric Transformations 03/02 Geometric Transformations Homework 06
03/04 Special Talk: A History of Fake Things on the Internet
03/06 Practical 03 (In-Class)
03/09 Spring Break (No Class)
03/11 Spring Break (No Class)
03/13 Spring Break (No Class)
Feature Classification 03/16 Feature Classification (Part 1)
03/18 Feature Classification (Part 2) Homework 07
03/20 Feature Classification (Part 3)
Deep Learning 03/23 Deep Learning in Computer Vision (Part 1) Practical 04 (Before-Class)
03/25 Deep Learning in Computer Vision (Part 2) Homework 08
03/27 Deep Learning in Computer Vision (Part 3) Project 04
03/30 Practical 04 (In-Class)
04/01 Generative Models Practical 05 (Before-Class)
04/03 Easter Break (No Class)
04/06 Easter Break (No Class)
04/08 Vision-Language Models
04/10 Reliability of Deep Learning-Based Models Homework 09
04/13 Practical 05 (In-Class)
Multiple-View Analysis
Multiple-View 04/15 Camera Calibration
04/17 3D Reconstruction (Part 1) Project 05
04/20 3D Reconstruction (Part 2)
04/22 Object Tracking Homework 10
04/24 Applications: Computer Vision for Ecology
Review & Evaluation
Review 04/27 Review for Final Exam
04/29 Final Exam (optional)
Final Project 05/01 Final Delivery
Final Exam 05/05 10:30-12:30 Fitzpatrick Hall of Engineering 356A

Coursework

Component Points
Participation  Participation in class, office hours, and slack chats. 15 × 12 + 20
Homeworks  Homework assignments. 10 × 100
Practicals  In-class programming projects. 5 × 200
Project  Final group project. 500
Exam  Final Exam. 300
Total 3000

Grading

Grade Points Grade Points Grade Points
A 2790-3000 A- 2700-2789
B+ 2601-2699 B 2499-2600 B- 2400-2498
C+ 2301-2399 C 2199-2300 C- 2100-2198
D 1950-2099 F 0-1949

Due Dates

All Assignments are to be submitted as a PDF file to Canvas, unless specified otherwise.
  • Homeworks are due by 11:59pm.
  • Practicals have two parts.
    The before-class component is due by 12:49pm on the day of the in-class work session.
    The in-class component is due by 11:59pm on the assigned deadline.
  • Project deliverables are due by 11:59pm on the assigned deadline.

Policies

Students with Disabilities

Any student who has a documented disability and is registered with Sara Bea Accessibility Services should speak with the professor as soon as possible regarding accommodations. Students who are not registered should contact Sara Bea Accessibility Services.

Academic Honesty

Any academic misconduct in this course is considered a serious offense, and the strongest possible academic penalties will be pursued for such behavior. Students may discuss high-level ideas with other students, but at the time of implementation (i.e., programming), each person must do his/her own work. Use of the Internet as a reference is allowed but directly copying code or other information is cheating. It is cheating to copy, to allow another person to copy, all or part of an exam or a assignment, or to fake program output. It is also a violation of the Undergraduate Academic Code of Honor to observe and then fail to report academic dishonesty. You are responsible for the security and integrity of your own work.

Policy on Generative AI

We are big advocates of the responsible use of modern AI tools, including generative AI models that are in the headlines (this is a computer vision course, after all). We will have opportunities to use the output of these systems in assignments, and we will discuss their usefulness for solving computer vision problems in class. But you must not use generative AI to simply "do your work for you" (e.g., generate ready-to-submit homework answers, or code snippets). This is not what we would call "responsible use" and it is harmful to your long-term learning goals. The prose generated by ChatGPT is spelled and punctuated correctly and has proper grammar, but it frequently concocts false information, and supports its arguments with very shallow reasoning that relies on description rather than inference. Use it as a "brainstorming buddy" (ChatGPT's confabulations can be very inspirational as they may take you to ideas you have never thought about). Or use it to simply correct your grammar / language. But do not cheat (see the the Academic Honesty section of this page).

Classroom Recording

Notre Dame has implemented a classroom recording system. This system allows us to record and distribute lectures to you in a secure environment. You can watch these recordings on your computer, tablet, or smartphone. The recordings can be accessed via a request made to the instructor.

Because the instructor reserves the right to record in the classroom on select occasions, your questions and comments may be recorded. (Video recordings typically only capture the front of the classroom.) If you have any concerns about your voice or image being recorded, please speak to me to determine an alternative means of participating. No content will be shared with individuals outside of your course without your permission except for faculty and staff that need access for support or specific academic purposes.

These recordings are jointly copyrighted by the University of Notre Dame and your instructor. Posting them to other websites, including YouTube, Facebook, Vimeo, or elsewhere without express, written permission may result in disciplinary action and possible civil prosecution.

Participation

In-person attendance is mandatory. Students are expected to attend and contribute regularly in class. This means answering questions in class, participating in discussions, and helping other students. Foreseeable absences should be discussed with the instructor ahead of time.

Late Work

In the case of a serious illness or other excused absence, as defined by university policies, coursework submissions will be accepted late by the same number of days as the excused absence.

  • Otherwise, a late penalty, as determined by the instructor, will be assessed to any late submission of an assignment. The instructor reserves the right to refuse any unexcused late work. In general, the late penalty is -10 points off for each day after the assigned deadline.
  • But ... students are allowed one late submission during the semester on any assignment (practical, homework, one of the semester project deliverables); that is, there is no penalty for one selected (by a student) late submission; if a student uses the “late submission” token, this outstanding assignment shall be delivered by the last day of classes (Wednesday, April 29, 2026, 11:59 PM).

CSE Guide to the Honor Code

For the assignments in this class, you may discuss with other students and consult printed and online resources. You may quote from books and online sources as long as you cite them properly. However, you may not look at another student's solution, and you may not copy solutions.


Resources Solutions
Consulting Allowed Not Allowed
Copying Cite Not Allowed

For further guidance please refer to the CSE Honor Code or ask the instructor.

Textbook

Foundations of Computer Vision

Antonio Torralba, Phillip Isola, and William T. Freeman