Java programming : from problem analysis to program design [ - Malik (Thomson: Course Technology, 2010)