A Short Course in Computational Science and Engineering
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.
- Presents the first unified treatment of Octave (MATLAB), C++ and Java together with numerical methods and physical applications
- All aspects of installation and implementation of the exclusively free software used in the book are summarised and the resulting techniques can be shared among different users in a group setting
- Material has been developed over 20 years of experience developing scientific programming courses for engineers and scientists and will benefit students and researchers in all areas of mathematics, engineering and pure and applied science
Reviews & endorsements
'… a very valuable, comprehensive reference for users of public domain key programming languages. Undergraduate and graduate students in physical sciences and engineering and working scientists will benefit from this short course on computational science.' Axel Mainzer Koenig, Optics and Photonics News (osa-opn.org)
'I recommend this book as a fine all-in-one package of essentials for those who use computation in their scientific or engineering endeavors.' George Hacken, Computing Reviews
Product details
May 2012Hardback
9780521116817
280 pages
252 × 192 × 17 mm
0.75kg
5 b/w illus.
Temporarily unavailable - available from TBC
Table of Contents
- 1. Introduction
- 2. Octave programming
- 3. Installing and running the Dev-C++ programming environment
- 4. Introduction to computer and software architecture
- 5. Fundamental concepts
- 6. Procedural programming basics
- 7. An introduction to object-oriented analysis
- 8. C++ object-oriented programming syntax
- 9. Arrays and matrices
- 10. Input and output stream
- 11. References
- 12. Pointers and dynamic memory allocation
- 13. Memory management
- 14. The static keyword, multiple and virtual inheritance, templates and the STL library
- 15. Creating a Java development environment
- 16. Basic Java programming constructs
- 17. Java classes and objects
- 18. Advanced Java features
- 19. Introductory numerical analysis
- 20. Linear algebra
- 21. Fourier transforms
- 22. Differential equations
- 23. Monte-Carlo methods
- 24. Parabolic partial differential equation solvers
- Index.