Object oriented programming JAVA a graphical approach - Van Dam (2006)