1. Learning Java 2. Java from Basics 3. Java for C Programmers 4. Advanced Java 5. The Standard Libraries 6. Object Orientation 7. Scientific Applications 8. JNL, a Numerical Library for Java 9. Numerical Computation 10. Programming Practices 11. Physical Modelling Appendices: A Other Resources B Installation Instructions C Solutions to Selected Exercises