"Java Program Design is about the fundamentals of programming and software development using Java. It is targeted for a first programming course and has been designed to be appropriate for people from all disciplines. The authors assume no prior programming skills and use mathematics and science at a level appropriate to first-year college students. The breadth of coverage and the arrangement of the chapters provide flexibility for the instructor in what and when topics are introduced. Key to "Java Program Design is an introduction to problem solving. The basics of problem-solving techniques are introduced in chapter one and then reinforced during the explanations of Java programming and design. In addition, software engineering design concepts are introduced via problem studies and software projects.