JavaTech, an Introduction to Scientific and Technical Computing with Java