This document provides an introduction to the C++ programming language. It discusses the history and evolution of C++. The document outlines some key differences between C and C++, such as namespaces, references, and classes. It also introduces several important C++ concepts, like object-oriented programming, the string data type, input/output streams, and classes. The document serves as a textbook for C++ programming courses taught at the University of Groningen.