For undergraduate courses in C++-Programming for Engineers, Java-Programming Language, and Structured Programming Techniques. From the very beginning, this concise introduction to Java develops and executes practical examples useful for solving problems in an engineering environment. Focused on the proper way to write reliable Java programs, it outlines excellent software development practices; uses a top-down design technique to break the program up into logical portions; and demonstrates object re-usability by building later examples on the classes and methods created in earlier examples. The text makes learning an interactive experience by providing all sources for all examples through a Website. The book also includes a number of supporting classes to make it easier for engineers to format numbers in Java, to display data in linear or logarithmic plots, to work with complex numbers, to manipulate arrays, and to perform such common engineering calculations as FFTs, convolutions, correlations, etc.