Introduction to Scientific Programming
Programming in science and engineering is overwhelmingly done in C/C++ and Fortran, so a thorough knowledge of these languages seems essential. Yet, few courses aimed at this audience exist. This book teaches modern C++17 (which is really to be preferred over C these days) and Fortran2008.
Unique to this book is the emphasis on practical examples inspired by scientific / engineering practice. There are various longer programming projects that simulate practical computational scenarios such as “Infectious Disease Simulation”, “Congressional Redistricting”, “Amazon Delivery Trucks”, “Google Pagerank”, “High performance Linear Algebra”. These projects should take a student a week or two of programming, and that can be used as “end of semester” projects.