Visual Computing

Undergraduate course at ETH Zurich on computer vision and computer graphics. I was a teaching assistant for the exercise sessions in the autumn 2025 edition, working from the course's existing materials.

Term: Autumn

Location: ETH Zurich

Visual Computing covers the fundamentals of analysing and synthesising images, split into a Vision half and a Graphics half.

An exercise session is structured into a short repetition of this weeks topics, followed by the students using these same techniques in practice. We use Python for the vision part and WebGL for the graphics part.

The following is an overview of topics covered in the two halves of this rather large course.

Computer Vision

  • Sampling and aliasing
  • Image segmentation
  • Convolution and Filtering
  • (Canny) edge detection
  • Hough transform (Curve fitting)
  • (Harris) corner detection
  • Lowe’s SIFT
  • Fourier transforms and Unitary transforms
  • Principal Component Analysis, Eigenfaces
  • Compression (JPEG, JPEG2000, Video motion-compensated prediction)
  • Optical Flow (Lucas–Kanade)
  • Radon transforms
  • Convolutional neural networks

Computer Graphics

  • Graphics pipeline
  • Light and Color spaces
  • Projections and homogeneous coordinates
  • Quaternions
  • Basic radiometry and reflection models
  • Phong illumination, Phong shading, Transparency
  • Texture Mapping
  • Scan conversion
  • Parametric curves and Subdivision surfaces
  • Global illumincation (Ray tracing)