Introduction to Scientific and Technical Computing: 1st Edition (Paperback) book cover

Introduction to Scientific and Technical Computing

1st Edition

Edited by Frank T. Willmore, Eric Jankowski, Coray Colina

CRC Press

289 pages | 30 B/W Illus.

Purchasing Options:$ = USD
Paperback: 9781498745048
pub: 2016-08-01
SAVE ~$12.89
Hardback: 9781138470866
pub: 2017-09-11
SAVE ~$30.75
eBook (VitalSource) : 9781315382395
pub: 2016-08-19
from $41.98

FREE Standard Shipping!


Created to help scientists and engineers write computer code, this practical book addresses the important tools and techniques that are necessary for scientific computing, but which are not yet commonplace in science and engineering curricula. This book contains chapters summarizing the most important topics that computational researchers need to know about. It leverages the viewpoints of passionate experts involved with scientific computing courses around the globe and aims to be a starting point for new computational scientists and a reference for the experienced. Each contributed chapter focuses on a specific tool or skill, providing the content needed to provide a working knowledge of the topic in about one day. While many individual books on specific computing topics exist, none is explicitly focused on getting technical professionals and students up and running immediately across a variety of computational areas.


"…a long overdue and badly needed resource for beginning students of scientific, technical, and high-performance computing. It provides within a single concise volume tutorials and primers in all of the fundamental elements required to become a competent scientific programmer. Its style is extremely accessible and user friendly and employs illuminating examples to illustrate the key concepts and tools. I only wish that this book had been available to me when I was first learning scientific computing—I can only imagine the time that it would have saved me, the good habits that it would have instilled, and the elevated level of competence that I would have developed!"

–Andrew Ferguson, University of Illinois, Urbana-Champaign, USA

"…touches topics that every practitioner in the field of scientific and technical computing has to learn at some point in his/her career. It provides an overview over software tools and coding infrastructure that form the basis of every computational research project. This book is a useful learning tool and reference for everybody serious about starting in computational research."

–Michael Engel,Friedrich-Alexander-Universität, Erlangen-Nürnberg, Germany

" a unique book that fills [a] gap in the existing scientific computing literature landscape. This book focuses on the necessary aspects of creating and maintaining a scientific code today."

–Chris D. Lorenz, King’s College, London, UK

"The material this book covers is a good summary of what I learned piece-by-piece over a decade of research. I wish this book had existed when I was a first-year (or fifth-year) graduate student. It could have saved me a lot of time and taught me how to create reliable and reproducible computational science far earlier."

–Carolyn Phillips, Computation Institute, University of Chicago; Neurensic, Inc., Chicago, Illinois, USA

"This book is a must-have for any physicist, chemist or engineer grad student, postdoc and academic wishing to use modern computers for their research…. the spellbook that unravels the mysteries of professional-style computation tools, making them accessible and useful to non-computer majors."

–Erich A. Müller, Imperial College, London, UK

Table of Contents

Operating Systems Overview

Eric Santiso

Machine Numbers and the IEEE 754 Floating Point Standard

Frank T. Willmore

Developing with Git and Github

Chris Ertel

Introduction to Bash Scripting

Eric Santiso

Debugging with gdb

Frank T. Willmore

Makefiles, Libraries, and Linking

Frank T. Willmore

Linking and Interoperability

Frank T. Willmore

Build Management with CMake

Ryan L. Marson and Eric Jankowski

Getting Started with Python 3

Brian C. Barnes and Michael S. Sellers


Charles Lena

Introduction to High-Performance Computing Systems

Todd Evans

Introduction to Parallel Programming with MPI

Jerome Vienne

Introduction to OpenMP

Yaakoub El Khamra

Checkpointing Code for Restartability with HDF5

Frank T. Willmore

Libraries for Linear Algebra

Victor Eijkhout

Parallel Computing with Accelerators

İnanç Şenocak and Haoqiang Jin

Testing and Verification

Paul Kwiatkowski

Validation of Computational Models and Codes

Christopher R. Iacovella, Christoph Klein, Janos Sallai, and Ahmed E. Ismail

Software Licensing and Distribution

Paul Saxe

About the Editors

Frank Willmore completed his PhD in chemical engineering in 2006 at the University of Texas under the direction of Isaac C Sanchez, studying the role of free volume in small molecule diffusion. After a brief foray into the construction sector, Frank returned to research and began postdoctoral work using GPUs for molecular simulation. In May of 2010, he joined the high performance computing team at the Texas Advanced Computing Center as a consultant focused on chemical engineering and materials science software applications and developed their first short course on CUDA programming for their Summer Supercomputing Institute. Frank received a National Research Council award to study free volume in materials at the National Institute of Standards and Technology for all of 2011. Frank remained at TACC until 2014 and has since pursued consulting projects, including a project with the Glotzer group at the University of Michigan, building analytical and visual extensions to the HOOMD software package.

Eric Jankowski is an assistant professor of Materials Science and Engineering at Boise State University. His research group uses computer simulations to understand how the arrangements of molecules can be controlled through thermodynamic self-assembly. Eric was a Director’s Fellow at the National Renewable Energy Laboratory and a postdoctoral research associate at the University of Colorado, Boulder. He earned his PhD in chemical engineering in 2012 from the University of Michigan, Ann Arbor, working with Sharon Glotzer to develop efficient heuristics for predicting thermodynamically stable arrangements of small particles.

Coray Colina is Professor in the Department of Chemistry at the University of Florida with an affiliate appointment in Materials Science and Nuclear Engineering. She obtained her PhD in Chemical Engineering at North Carolina State University working with Keith E. Gubbins and was a Postdoctoral Research Associate in the Department of Chemistry at the University of North Carolina at Chapel Hill, working with Lee Pedersen. She was previously a faculty member at Simón Bolívar University, Venezuela, and joined the Department of Materials Science and Engineering at The Pennsylvania State University as Associate Professor in 2007. Her group strives to understand and predict structure-property relations in functional materials, such as polymeric membranes, hydrogels, biomolecules, and alternative ionic liquids. They use a variety of simulation techniques to gain further understanding of these systems by providing unique insight into structural aspects and phenomena. Complementary to experimental investigations, their work is helping to analyze and interpret experimental results, as well as to predict performance of new materials to guide future experimental design efforts.

Subject Categories

BISAC Subject Codes/Headings:
TECHNOLOGY & ENGINEERING / Engineering (General)