Problem solving with Java - Koffman, Elliot B. (Addison-Wesley, 1999)