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