This course provides a broad overview of modern image synthesis techniques. Specific topics include:
  • Photorealistic rendering
  • Global illumination, Monte Carlo methods
  • Virtual Reality
  • Image editing, matting, tone mapping
  • Texture synthesis
  • Non-photorealistic rendering
Pre-requisites: COMSCI 187 or equivalent, MATH 235 (Linear Algebra) or equivalent. Prior experience with introductory computer graphics (such as CMPSCI 473/373) is preferred but not required.

Note that this is NOT a course that teaches the use of graphics software such as Photoshop, 3D Max, Maya etc. Rather, this course teaches the underpinnings of those software. Throughout the class, students will learn mathematical and algorithmic ways to model and synthesize visual content, and write Java programs to implement various algorithms. Therefore, basic math and programming skills are required.


  • Lectures: Tu&Thu 2:30pm-3:45pm, in Computer Science Building #140
  • Instructor: Rui Wang (ruiwang [at]
    • Office hours: Tue 4pm-5pm, Wed 11am-noon, Wed 2-3pm (computer science building #270) or by appointment
  • Grader: Matthew Lydigsen (mlydigsen [at]
    • Office hour: Wed 1pm-2pm at the U-Space in computer science building.
  • Course Slides, Assignment Submissions, Quizzes, Grades, Discussion Forum are all managed in Moodle.



  • 1 warmup (assignment 0), 4 assignments (programming / written)
  • 2 mid-term exams, 1 final project (there is no final exam).
  • Weekly quizzes.
  • Grading: 45% assignments, 30% mid-term, 15% final project, 10% quizzes.