An introduction to programming with C++ using real world applications