Getting Started -- Flow of Control -- File Input and Output -- Pointers -- Blocks, Functions and Reference Variables -- An Introduction to Classes -- Inheritance and Derived Classes -- Templates -- Errors, Exceptions and Testing -- Developing Classes for Linear Algebra Calculations -- An Introduction to Parallel Programming Using MPI -- Designing Object-Oriented Numerical Libraries -- Linear Algebra -- Other Programming Constructs You Might Meet -- Solutions to Exercises.
0
This simple-to-follow textbook/reference provides an invaluable guide to object-oriented C++ programming for scientific computing. Through a series of clear and concise discussions, the key features most useful to the novice programmer are explored, enabling the reader to quickly master the basics and build the confidence to investigate less well-used features when needed. The text presents a hands-on approach that emphasizes the benefits of learning by example, stressing the importance of a clear programming style to minimise the introduction of errors into the code, and offering an extensive selection of practice exercises. This updated and enhanced new edition includes additional material on software testing, and on some new features introduced in modern C++ standards such as C++11. Topics and features: Presents a practical treatment of the C++ programming language for applications in scientific computing Reviews the essentials of procedural programming in C++, covering variables, flow of control, input and output, pointers, functions and reference variables Introduces the concept of classes, showcasing the main features of object-orientation, and discusses such advanced C++ features as templates and exceptions Examines the development of a collection of classes for linear algebra calculations, and presents an introduction to parallel computing using MPI Describes how to construct an object-oriented library for solving second order differential equations Contains appendices reviewing linear algebra and useful programming constructs, together with solutions to selected exercises Provides exercises and programming tips at the end of every chapter, and supporting code at an associated website This accessible textbook is a "must-read" for programmers of all levels of expertise. Basic familiarity with concepts such as operations between vectors and matrices, and the Newton-Raphson method for finding the roots of non-linear equations, would be an advantage, but extensive knowledge of the underlying mathematics is not assumed. Dr. Joe Pitt-Francis is a Departmental Lecturer at the Department of Computer Science and teaches Computer Science at Exeter College, the University of Oxford, UK. Prof. Jonathan Whiteley is Associate Professor at the Department of Computer Science and Governing Body Fellow of Linacre College, the University of Oxford, UK.
Springer Nature
com.springer.onix. 9783319731322
9783319731315
C++ (Computer program language)
Science-- Data processing.
C++ (Computer program language)
Computer modelling & simulation.
Computer programming-- software development.
Computers-- Computer Simulation.
Computers-- Data Processing.
Computers-- Programming-- Algorithms.
Computers-- Programming-- General.
Computers-- Programming Languages-- General.
Computers-- Software Development & Engineering-- General.