This document provides an overview and introduction to programming graphics in C++ using the G3D library for a course at Williams College. It discusses key differences between C++ and Java, how to compile and debug C++ programs, C++ concepts like inheritance, and how G3D handles memory management to avoid manually allocating and freeing memory. The document is intended as a starting guide for programmers familiar with Java but new to C++ and 3D graphics.