For the purposes of this course, a broad taxonomy of computer graphics is three-fold: 1. Rendering, or the generation of images of virtual worlds (including photorealistic images or chosen artistic aesthetic, such as Pixar movies) 2. 3D Shape representation and manipulation, or geometric data structures and algorithms to enable efficient and intuitive design of 2D surfaces and 3D volumes in 3D space 3. 3D Animation, or the modeling of dynamics in scenes over time, often simulating aspects of physics in our natural world. This hands on capstone course will be a breadth-first introduction to the world of 3D computer graphics. Rather than teaching the user interfaces of tools such as Blender and Maya, which are commonly used in video game design and movies, and which might be taught in a 3D design curriculum, we instead focus on the technologies themselves behind these programs. As such, the course will have a more mathematical and algorithmic focus. In particular, students will write code to implement vanilla tools from the ground up to design 3D scenes, to perform 3D rendering, to design and manipulate 3D shapes, and to help automate certain aspects of 3D animation, among other things. The course will culminate in a final project related to the digital humanities.