Introduction to Programming in Java: An Interdisciplinary Approach by Robert Sedgewick
By emphasizing the application of computer programming not only in success stories in the software industry but also in familiar scenarios in physical and biological science, engineering, and applied mathematics, Introduction to Programming in Java takes an interdisciplinary approach to teaching programming with the Java(t) programming language. Interesting applications in these fields foster a foundation of computer science concepts and programming skills that students can use in later courses while demonstrating that computation is an integral part of the modern world. Ten years in development, this book thoroughly covers the field and is ideal for traditional introductory programming courses. It can also be used as a supplement or a main text for courses that integrate programming with mathematics, science, or engineering.