Cay S. Horstmann
Brief Java: Early Objects, 9e focuses on the essentials of effective learning and is suitable for a two-semester introduction to programming sequence. It requires no prior programming experience and only a modest amount of high school algebra. Objects and classes from the standard library are used where appropriate in early sections with coverage on object oriented design starting in Chapter 8. This gradual approach allows students to use objects throughout their study of the core algorithmic topics, without teaching bad habits that must be un-learned later.