Java provides the engineer and scientist with an efficient and easy-to-use tool for problem solving in today's web-based environment. This text draws on a wide range of engineering and scientific problems to teach Java by example. From the start, solutions are presented via a special graphics package so that the reader can appreciate the physical significance of the underlying mathematics. Covers all of the Java language, its standard libraries and utilities. In terms of programming, it covers object-orientation, software design, structured programming, graphical user interfacing, data representation, animation and networking.