This book will help future scientists to become more intelligent users of computing technology in their practice of science. The content is suitable for introductory courses on the foundations of computing and the specific application of computers in different areas of science. The text presents a set of modules for use in existing science courses in order to integrate individual aspects of computational thinking, as well as a set of modules introducing the computer science concepts needed to understand the computing involved. These modules guide science students in their independent learning. The book covers computing applications in such diverse areas as bioinformatics, chemical kinetics, hydrogeological modeling, and mechanics of materials, geographic information systems, flow analysis, the solving of equations, curve fitting, optimization, and scientific data acquisition. The computing topics covered include simulations, errors, data representation, algorithms, XMS, compression, databases, performance, and complexity.