Modern Fortran:
Software Engineering for Scientists
CRC Press
1st Edition
Published on 15. November 2017
Book
Hardback
350 pages
978-1-138-05192-8 (ISBN)
Description
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.
More details
Series
Language
English
Place of publication
London
United Kingdom
Publishing group
Taylor & Francis Ltd
Target group
Professional and scholarly
Professional Practice & Development
Illustrations
50 s/w Abbildungen
50 Illustrations, black and white
Dimensions
Height: 234 mm
Width: 156 mm
ISBN-13
978-1-138-05192-8 (9781138051928)
Copyright in bibliographic data is held by Nielsen Book Services Limited or its licensors: all rights reserved.
Schweitzer Classification
Persons
Damian Rouson is a mechanical engineer with extensive experience in software design and development for multi-physics modeling, including classical, quantum, and magnetohydrodynamic turbulence and multiphase flow. He co-authored the textbook Scientific Software Design: The Object-Oriented Way (Cambridge University Press, 2011) and has been contracted to teach related courses at supercomputer centers and universities in the U.S. and Europe. He holds a B.S. from Howard University and an M.S. and Ph.D. from Stanford University, all in Mechanical Engineering. He is also a licensed Professional Engineer (P.E.) in the State of California. In February 2013, Dr. Rouson entered Sandia National Laboratory's Entrepreneurial Separation to Transfer Technology (ESST) program to launch Sourcery, Inc., a software consultancy founded by and for computational scientists, engineers, and mathematicians. In July 2015, Dr. Rouson founded the California public-benefit nonprofit corporation Sourcery Institute. In August 2015, the U.S. Internal Revenue Service approved Sourcery Institute's application for 501(c)(3) tax-exempt status for conducting research and education in computational science and engineering.
Salvatore Filippone has an MSc in computer engineering and a PhD in Mathematics, both from the University of Rome "Tor Vergata". He is the Lecturer in Software Engineering for Technical Computing at Cranfield University. Prior to joining Cranfield he held positions with IBM Co., where he was a lead developer of the ESSL scientific software products, and at the University of Rome Tor Vergata, where he taught introductory programming and introductory numerical analysis to engineering undergraduate, and advanced computational methods to graduate students.
Sameer Shende is Director of the Performance Research Laboratory at the University of Oregon. He is also President and Director of ParaTools, Inc.
Salvatore Filippone has an MSc in computer engineering and a PhD in Mathematics, both from the University of Rome "Tor Vergata". He is the Lecturer in Software Engineering for Technical Computing at Cranfield University. Prior to joining Cranfield he held positions with IBM Co., where he was a lead developer of the ESSL scientific software products, and at the University of Rome Tor Vergata, where he taught introductory programming and introductory numerical analysis to engineering undergraduate, and advanced computational methods to graduate students.
Sameer Shende is Director of the Performance Research Laboratory at the University of Oregon. He is also President and Director of ParaTools, Inc.
Content
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.