Java: An introduction to computing - Adams, Joel; Nyhoff, Larry; Nyhoff, Jeffrey (Prentice Hall, Inc., 2001)