Problem solving, abstraction, design using C++Frank L.Friedman, Elliot B. Koffman - Friedman, Frank L (Addison Wesley Longman, 2000)