A Short Course in Computational Science and Engineering
- Length: 280 pages
- Edition: 1
- Language: English
- Publisher: Cambridge University Press
- Publication Date: 2012-07-09
- ISBN-10: 0521116813
- ISBN-13: 9780521116817
- Sales Rank: #4308707 (See Top 100 Books)
Building on his highly successful textbook on C++, David Yevick provides a concise yet comprehensive one-stop course in three key programming languages, C++, Java and Octave (a freeware alternative to MATLAB). Employing only public-domain software, this book presents a unique overview of numerical and programming techniques, including object-oriented programming, elementary and advanced topics in numerical analysis, physical system modelling, scientific graphics, software engineering and performance issues. Compact, transparent code in all three programming languages is applied to the fundamental equations of quantum mechanics, electromagnetics, mechanics and statistical mechanics. Uncommented versions of the code that can be immediately modified and adapted are provided online for the more involved programs. This compact, practical text is an invaluable introduction for students in all undergraduate- and graduate-level courses in the physical sciences or engineering that require numerical modelling, and also a key reference for instructors and scientific programmers.
Table of Contents
Chapter 1 Introduction
Chapter 2 Octave programming
Chapter 3 Installing and running the Dev-C++ programming
Chapter 4 Introduction to computer and software architecture
Chapter 5 Fundamental concepts
Chapter 6 Procedural programming basics
Chapter 7 An introduction to object-oriented analysis
Chapter 8 C++ object-oriented programming syntax
Chapter 9 Arrays and matrices
Chapter 10 Input and output streams
Chapter 11 References
Chapter 12 Pointers and dynamic memory allocation
Chapter 13 Memory management
Chapter 14 The static keyword, multiple and virtual inheritance, templates and the STL
Chapter 15 Creating a Java development environment
Chapter 16 Basic Java programming constructs
Chapter 17 Java classes and objects
Chapter 18 Advanced Java features
Chapter 19 Introductory numerical analysis
Chapter 20 Linear algebra
Chapter 21 Fourier transforms
Chapter 22 Differential equations
Chapter 23 Monte Carlo methods
Chapter 24 Partial differential equations