"Building on his highly successful textbook on C++, David Yevick provides a concise yet comprehensive one-stop course in three key programming languages, C++, Java and Octave (a freeware alternative to MATLAB). Employing only public-domain software to ensure straightforward implementation for all readers, this book presents a unique overview of numerical and programming techniques relevant to scientific programming, including object-oriented programming, elementary and advanced topics in numerical analysis, physical system modeling, scientific graphics, software engineering and performance issues. Relevant features of each programming language are illustrated with short, incisive examples, and the installation and application of the software is described in detail.