Examples, Exercises, Drills of Programming: Principles and Practice using C++