Introduction to java programming brief version - Liang, Y. Daniel (Pearson, 2013)
Daniel Liang teaches concepts of problem-solving and object-oriented programming using a fundamentals-first approach. Beginning programmers learn critical problem-solving techniques then move on to grasp the key concepts of object-oriented, GUI programming. The Brief version is comprised of Chapters 1-20 of the Comprehensive.