This document provides an overview of the Energy 211 course at Stanford University, which teaches C++ programming for earth scientists and engineers. The course covers C++ basics and classes, software engineering practices, and special topics. Students' grades will be based on 6 programming projects and a final project. The course uses C++ because it allows both low-level efficiency and high-level abstraction, offering advantages over MATLAB for developing robust, efficient software. Sound programming practices are emphasized to avoid bugs and ensure software reliability.