Simply C++: An Application-Driven Tutorial Approach