The C++ Project: A companion for learning the C++ programming language