Damian Rouson, Salvatore Filippone, Sameer Shende
November 15, 2017
by CRC Press
Reference - 350 Pages - 50 B/W Illustrations
ISBN 9781138051911 - CAT# K33153
Series: Chapman & Hall/CRC Computational Science
This book will introduce techniques and tools for software design, development, testing, and performance analysis for use in computational science. The book will emphasize object-oriented programming (OOP), object-oriented design patterns, and parallel programming in modern Fortran, including mixed Fortran/C/C++. Extensive code examples will be incorporated into the text and will also be available on GitHub with portable, automated build scripts for students to compile and execute. All examples will work with free, open-source software that will be packaged in a companion virtual machine. Several video tutorials will also be posted to augment the book with lectures.
Motivating Modernity. Programming Paradigms. Parallel Programming. Object-Oriented Programming. Functional Programming. Design Patterns. Design Pattern Basics. The Object Pattern. The Template Method Pattern. The Puppeter Pattern. The Strategy and Surrogate Patterns. Factory Patterns. State Pattern and Its Merry Friends. The Observer Pattern. Software Engineering. Agile Development Tools and Methodologies. Mixed-Language Programming. Libraries and Frameworks.