Using the Java language, this book introduces the beginning computer science student to the concepts of class, object, and message in the first chapter. This object-oriented approach is used throughout the text, as students learn the fundamentals of object-oriented programming along with the basics of imperative programming. Because Java is an object-oriented language that reflects the acquired wisdom of thirty years of programming language design, the book can effectively focus on programming and the process of class design. Early on, a clear, usable procedure for solving problems by developing classes is presented and then used throughout the text.Java's support for GUI and network programming makes a great setting for diverse programming a calculator, a strategy game, reading the Dow Jones from Yahoo!, a Web surveyor application, scheduling songs for a rock-and-roll radio station, as well as traditional payroll and student GPA computations. Working with these and other examples, students learn to think like a programmer, analyze problems, devise solutions, design classes, and write code.