This course investigates advanced topics in contemporary computer graphics, with an emphasis on the creation of computational aesthetics projects. We will investigate current hardware-accelerated programming techniques using OpenGL and GLSL, as well as a range of tools that facilitate creating interactive graphics applications (such as WebGL, Three.js, and Unity3D). We will read widely from both seminal work in the fields of graphics and visualization as well as from recent papers from top-tier conferences and journals (TOG, SIGGRAPH, CG&A, TVCG, CHI, etc) and curated editions (GPU Pro, GPU Gems, ShaderX). In addition to the completion of weekly programming and writing assignments, students will be responsible for two projects that involve the creation, demonstration, and documentation of novel interactive graphics techniques. A particular focus of the course is on computational aesthetics, broadly defined to include novel image processing techniques, special effects for games and films, new media arts projects, and investigations into creative visual explorations of current computational topics, such as data mining, signal processing, machine learning, and natural language processing, among others.