This course covers the fundamentals of programming in C++. We start with a discussion of the differences between procedural and object-oriented programming, and then cover syntax and programming techniques from the core "C" subset of C++. We then discuss C++ classes, along with inheritance and polymorphism. Considerable attention is paid to heap memory management. Finally, we introduce parametric programming with templates, along with a look at the C++ standard libraries (especially the STL). The use of Excel as an alternative to C++ in solving some types of problems is also explored. Reference texts (not required): "C++ Primer" by Lippman, et al, "Numerical Recipes in C++" by Press, et al. Additional material will be available from the course Web site. Prerequisite: Some experience in programming in a procedural or object-oriented language.