A First Course in Computational Physics and Object-Oriented Programming with C++ (Hardcover)

David Yevick






C++ is rapidly becoming the programming language of choice for science and engineering applications because of its rich object-oriented features. Intended for beginning and intermediate programmers, this book surveys the application of C++ to technical problems. Modern object-oriented software engineering tools are employed to simplify the presentation and all aspects of modern C++ programming practices of relevance to scientific programming are surveyed.


Table of Contents:

Part I. Basic C++ Programming: 1. Introduction; 2. Installing and running the Dev-C++ programming environment; 3. Introduction to computer and software architecture; 4. Fundamental concepts; 5. Writing a first program; 6. An introduction to object-oriented analysis; 7. C++ object-oriented programming syntax; 8. Control logic and iteration; 9. Basic function properties; 10. Arrays and matrices; 11. Input and output streams; Part II. Numerical Analysis: 12. Numerical error analysis - derivatives; 13. Integration; 14. Root finding procedures; 15. Differential equations; 16. Linear algebra; Part III. Pointers, References and Dynamic Memory Allocation: 17. References; 18. Pointers and dynamic memory allocation; 19. Advanced memory management; 20. The static keyword, multiple and virtual inheritance, templates and the STL library; 21. Program optimization in C++; Part IV Advanced Numerical Examples: 22. Monte-Carlo methods; 23. Parabolic partial differential equation solvers; Part V. Appendices: 24. Appendix A. Overview of MATLAB; 25. Appendix B. The Borland C++ compiler; 26. Appendix C. The Linux/Windows g++ compiler and profiler; 27. Appendix D. Calling FORTRAN programs from C++; Appendix E. C++ coding standard; References.