Whether you are brand new to programming in general or coming to Java from another language, John Smiley's Learn to Program with Java offers a truly approachable tutorial designed with the beginner in mind. Covering Java syntax and essential programming concepts, this text can be used at home to simulate a semester's worth of Java study. Like Smiley's previous titles, the salient feature of this text is the author's scenario-based presentation style. Instead of addressing the reader directly, Smiley simulates the experience of about 18 first-semester programming students facing Java for the first time. As the students develop a grade calculation project in Java (and improve it with object-oriented features later on), basic questions are raised and answered with the reader "overhearing" the author's consistently clear and patient explanation of key programming concepts.