This course concerns computer programs that draw two- and three-dimensional objects on computer output devices and receive input from users through graphical input devices. Cadets implement interactive programs through a commonly available graphical application programmers' interface (API). They learn about graphical hardware devices and the elegant algorithms that underlie the API, including elementary computational geometry, continuous time physical simulation, homogeneous transformations, parametric forms, clipping, shading, color, and surface rendering. These concepts are all illustrated with examples of military data visualization including two-dimensional maps and three-dimensional battle simulation and terrain visualization.