Teaching
CS8803/4803-CGAI: Computer Graphics in AI Era
In Spring 2025, I developed a new course on CS8803/4803-CGAI: Computer Graphics and AI for both graduate and undergraduate students, focusing on emerging AI-driven techniques that have enabled groundbreaking applications across computer graphics, 3D vision, neural representations, machine learning, and generative AI. The course begins with the mathematical foundations and historical context of traditional computer graphics and provides a comprehensive overview of the evolution of modern AI-based methods in the field. Core topics include neural implicit functions, neural radiance fields, Gaussian splatting, differentiable physics, and generative graphics. Visit the CGAI course starter code and the interactive tutorial demo site for more details!
A gallery of rendered images from the CGAI final projects (image credits by CGAI students).
CS3451: Computer Graphics
At Georgia Tech, I teach CS3451: Computer Graphics, an undergraduate course that provides a comprehensive introduction to the mathematical and programmatic foundations of computer graphics. The course covers a broad range of topics, including GPU pipelines, shape representation, mesh subdivision, transformation, shading, lighting, texturing, procedural modeling, ray tracing, particle systems, and physically based animation. Students complete eight programming assignments and one final project, both involving the development of interactive applications using GLSL shader pipelines. For each assignment, a Creative Expression theme is integrated to encourage students to discover aesthetic elements in everyday life and express them through computer graphics programming. Visit our CS3451 course starter code for more details of the assignments and projects!
A gallery of rendered images from the CG final projects in past years (image credits by CS3451 students).
Previous Teaching at Dartmouth
Prior to joining Georgia Tech, I taught four computer science courses at Dartmouth College: Foundations of Applied Computer Science (CS 70), Computer Graphics (CS 77), Physical Computing (CS 89.18), and GPU Computing (CS 89.25). These courses were built around core themes in mathematics, physics, graphics, and scientific computing, and were designed to help students explore synergies through integrated learning experiences across computer science, mathematics, physics, and parallel programming.