Essential Java serves as an introduction to the programming language, Java, for scientists and engineers, and can also be used by experienced programmers wishing to learn Java as an additional language. The book focuses on how Java, and object-oriented programming, can be used to solve science and engineering problems. Many examples are included from a number of different scientific and engineering areas, as well as from business and everyday life. Pre-written packages of code are provided to help in such areas as input/output, matrix manipulation and scientific graphing. Java source code and solutions to selected exercises are available at: A free solutions manual is available to lecturers at:

Key Features

* Takes a 'dive-in' approach, getting the reader writing and running programs immediately * Teaches object-oriented programming for problem-solving in engineering and science * Fully supported with online resources and listings to download


1st year undergraduate science, mathematics and engineering students. Professional scientists and engineers.

Table of Contents

Preface. PART 1: Essentials; Getting going; Java programming basics; Solving a problem in Java; More on loops; Debugging; Arrays and matrices. PART 2: More advanced topics; Inheritance; Graphical user interfaces (GUIs); Input/output; Exceptions. PART 3: Some applications; Simulation; Modelling with matrices; Introduction to numerical methods. Appendices. Index.


No. of pages:
© 2002
Print ISBN:
Electronic ISBN:

About the authors

Brian Hahn

Affiliations and Expertise

Department of Mathematics and Applied Mathematics, University of Cape Town, South Africa

Katherine Malan

Katherine Malan is a lecturer in Computing Education at CIMSTE (Centre for the Improvement of Mathematics, Science and Technology Education), University of South Africa. Since 1997, she has taught a range of Computer Science undergraduate courses from programming (in Java, C++, Delphi, Visual Basic, Prolog, Pascal) to databases and human computer interaction. She has also taught a number of courses to professionals in industry. From 1997-2002 she ran a Computer Science development programme for students from educationally disadvantaged backgrounds at the University of Cape Town. In 2002, Katherine joined CIMSTE where she is running courses aimed at the professional development of computer science school teachers. To balance her technical work, she is a volunteer Life Line crisis counsellor and loves to cycle and hike in the numerous mountain ranges of South Africa. She can be contacted at

Affiliations and Expertise

CIMSTE, Faculty of Science, UNISA, South Africa.


"It is a true starter for non-programmers, with immediate applications and how-to sections ..." —ELECTRONIC PRODUCT NEWS (Jan 2003)