Multimedia Introduction to Programming Using Java - David Gries, Paul Gries (Springer)