The C++ Programmer's Mindset: Learn computational, algorithmic, and systems thinking to become a better C++ programmer - Morley (IEEE, 2003)