Programming in C++: Lessons and Applications