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
June 2012Adobe eBook Reader
9781139227254
0 pages
0kg
5 b/w illus.
This ISBN is for an eBook version which is distributed on our behalf by a third party.
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.