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. View a book walk through here: http://www.pearsonhighered.com/showtell/liangjava/web/