Teaching and Learning Resources

Visual Computing Book

Foundations of Visual Computing is an open, online textbook on the fundamentals of visual computing, covering human vision, rendering, imaging, and display technologies. A condensed version is published as a part of the Synthesis Lectures on Computer Architecture series by Springer Nature.

Interactive Tutorial on Color Science

We have developed a set of interactive Web tutorials that illustrate the basic concepts in color science. These tutorials are originally developed for the Computer Imaging and Graphics course taught at University of Rochester. See the EI paper for the rationale behind and the design of these tutorials. It is the plan that new tutorials on more advanced concepts in color science will be added — when time permits. We welcome your contributions, too.

Courses

CSC 259 Computer Imaging and Graphics

This is an undergraduate-level course on computer imaging and graphics. It is not a computer vision class. Computer vision is concerned with understanding images, whereas in this class we are mostly concerned with how images are formed in the first place. In particular, we study three fundamental forms of image formation: biological (human eye and retina), electrical (cameras), and computational (computer graphics).

Why do we care about image formation? First, it’s a wonderfully rich topic that covers sciences (e.g., physics, optics, visual neuroscience), engineering (e.g., camera/display design, Augmented/Virtual Reality glass design), computation (e.g., rendering algorithms, computational photography, image/video compression algorithms), art (e.g., paintings, pentimento), and mathematics (e.g., linear systems, Fourier analysis). Second, understanding image formation allows us to better design vision systems (both computer vision and human vision) — if we don’t understand how an image is formed in the first place, how can we analyze it to extract useful information?

The course was most recently offered in Fall 2025, and is expected to be offered every Fall.

CSC 572 Advanced Topics in Computation, Vision, and Intelligence

This is an advanced seminar course exploring how intelligence emerges through the lens of computation. We will approach intelligence from three complementary angles: evolution, development, and learning. The overarching goals of the course is to both understand how natural intelligence emerges and how we can take inspiration from it to design computational systems that possess actual intelligence. While we will take a broad view of intelligence, we will be particularly concerned with visual intelligence, discussing eyes, retina, and visual processing in the brain. The format will be a combination of instructor-led lectures, student-led paper critiquing and presentations, as well as semester-long projects.