freeprogrammingbooks.com

Introduction to Scientific Programming in C++17/Fortran2008

By Victor Eijkhout

Scientific Programming in C++17 and Fortran 2008 by Victor Eijkhout is the third volume in the Art of HPC series, published under a Creative Commons license.

Scientific and engineering computing relies heavily on high-performance programming languages capable of handling large numerical datasets, complex simulations, and computationally intensive tasks. C++ and Fortran have long been the dominant languages in this domain, with C++17 introducing modern abstractions and performance improvements, and Fortran 2008 remaining widely used in legacy scientific systems and high-performance computing environments.

Understanding both languages, from a practical perspective rooted in scientific applications, is a valuable skill for computational scientists, engineers, and numerical analysts.

About the book

Scientific Programming in C++17 and Fortran 2008 by Victor Eijkhout is the third volume in the Art of HPC series, published under a Creative Commons license.

The book is designed for students and practitioners in science and engineering who need to learn or deepen their knowledge of modern C++17 and Fortran 2008 in the context of real computational problems.

Rather than approaching the languages encyclopedically, the book builds understanding progressively through examples drawn from scientific practice. It includes substantial programming projects that simulate realistic computational scenarios such as infectious disease modeling, congressional redistricting, Amazon-style delivery route optimization, Google PageRank computation, and high-performance linear algebra. The book is suitable for use in university courses on scientific programming or as a self-study resource.

What you will learn

Readers will learn to write correct, efficient, and maintainable scientific programs in both C++17 and Fortran 2008. The book introduces modern C++ features and idioms, including object-oriented design and template programming, alongside Fortran constructs for numerical computing. Topics include data types, control flow, functions, memory management, arrays, input/output operations, and program organization.

The book also introduces parallel programming concepts and numerical computing patterns. Through extended project work, readers develop the ability to implement algorithms at a level of complexity representative of real scientific and engineering applications.

Table of contents

Part I: C++17 Programming

  • Basics of C++
  • Objects and classes
  • Containers and iterators
  • Pointers and memory management
  • Templates and generic programming
  • Standard algorithms and lambda expressions
  • Input/output
  • Parallel programming with C++

Part II: Fortran 2008 Programming

  • Fortran basics
  • Arrays and array operations
  • Modules and interfaces
  • Fortran I/O
  • Parallel Fortran with coarrays

Part III: Programming Projects

  • Infectious Disease Simulation
  • Congressional Redistricting
  • Amazon Delivery Trucks
  • Google PageRank
  • High Performance Linear Algebra

Book details

  • Title: Scientific Programming in C++17 and Fortran 2008
  • Author(s): Victor Eijkhout
  • Main category: Programming
  • Subcategory: C++
  • Language: English
  • License: Creative Commons Attribution 4.0 (CC BY 4.0)

More books in: C++, Programming


Legal notice: This book is shared for educational purposes only. The content is distributed under Creative Commons licenses or with explicit permission from the author. FreeProgrammingBooks may host files that comply with their respective licenses.