Multimedia Introduction to Programming Using Java - Gries, David; Gries, Paul (Springer New York, 2005)