Objects first with Java : a practical introduction using BlueJ - Barnes, David J. (Pearson, 2012)