Skip to content
Register Sign in Wishlist

Writing Scientific Software
A Guide to Good Style


  • Date Published: September 2006
  • availability: Available
  • format: Paperback
  • isbn: 9780521675956

£ 42.99

Add to cart Add to wishlist

Other available formats:

Looking for an inspection copy?

This title is not currently available on inspection

Product filter button
About the Authors
  • The core of scientific computing is designing, writing, testing, debugging and modifying numerical software for application to a vast range of areas: from graphics, meteorology and chemistry to engineering, biology and finance. Scientists, engineers and computer scientists need to write good code, for speed, clarity, flexibility and ease of re-use. Oliveira and Stewart's style guide for numerical software points out good practices to follow, and pitfalls to avoid. By following their advice, readers will learn how to write efficient software, and how to test it for bugs, accuracy and performance. Techniques are explained with a variety of programming languages, and illustrated with two extensive design examples, one in Fortran 90 and one in C++: other examples in C, C++, Fortran 90 and Java are scattered throughout the book. This manual of scientific computing style will be an essential addition to the bookshelf and lab of everyone who writes numerical software.

    • Gives tips, hints and guidelines for good style in C, C++, Fortran 90 and Java
    • Covers important development tools such as profilers, version control and automated builds
    • Describes template programming and techniques for high-performance software
    Read more

    Reviews & endorsements

    'Writing Scientific Software bridges the chasm that too often separates numerical analysis from real scientific computing. It is full of tips, tricks, and just plain interesting information. The reader will learn how to write code that takes advantage of many hidden features in modern computer architectures, programming languages, and compilers. This is a book that is full of good sense.' William H. Press, author of Numerical Recipes

    'The book is a useful tool working in the filed of scientific computations…' Zentralblatt MATH

    See more reviews

    Customer reviews

    Not yet reviewed

    Be the first to review

    Review was not posted due to profanity


    , create a review

    (If you're not , sign out)

    Please enter the right captcha value
    Please enter a star rating.
    Your review must be a minimum of 12 words.

    How do you rate this item?


    Product details

    • Date Published: September 2006
    • format: Paperback
    • isbn: 9780521675956
    • length: 316 pages
    • dimensions: 174 x 246 x 16 mm
    • weight: 0.549kg
    • availability: Available
  • Table of Contents

    Part I. Numerical Software:
    1. Why numerical software?
    2. Scientific computation and numerical analysis
    3. Priorities
    4. Famous disasters
    5. Exercises
    Part II. Developing Software:
    6. Basics of computer organization
    7. Software design
    8. Modularity and all that
    9. Data structures
    10. Design for testing and debugging
    11. Exercises
    Part III. Efficiency in Time, Efficiency in Memory:
    12. Be algorithm aware
    13. Computer architecture and efficiency
    14. Global vs. local optimization
    15. Grabbing memory when you need it
    16. Memory bugs and leaks
    Part IV. Tools:
    17. Sources of scientific software
    18. Unix tools
    19. Cubic spline function library
    20. Multigrid algorithms
    Appendix A: review of vectors and matrices
    Appendix B: trademarks

  • Resources for

    Writing Scientific Software

    Suely Oliveira, David E. Stewart

    General Resources

    Find resources associated with this title

    Type Name Unlocked * Format Size

    Showing of

    Back to top

    This title is supported by one or more locked resources. Access to locked resources is granted exclusively by Cambridge University Press to lecturers whose faculty status has been verified. To gain access to locked resources, lecturers should sign in to or register for a Cambridge user account.

    Please use locked resources responsibly and exercise your professional discretion when choosing how you share these materials with your students. Other lecturers may wish to use locked resources for assessment purposes and their usefulness is undermined when the source files (for example, solution manuals or test banks) are shared online or via social networks.

    Supplementary resources are subject to copyright. Lecturers are permitted to view, print or download these resources for use in their teaching, but may not change them or use them for commercial gain.

    If you are having problems accessing these resources please contact

  • Authors

    Suely Oliveira, University of Iowa
    Suely Oliveira is Associate Professor of Computer Science at the University of Iowa.

    David E. Stewart, University of Iowa
    David Stewart is an Associate Professor in the Department of Mathematics at the University of Iowa.

Sorry, this resource is locked

Please register or sign in to request access. If you are having problems accessing these resources please email

Register Sign in
Please note that this file is password protected. You will be asked to input your password on the next screen.

» Proceed

You are now leaving the Cambridge University Press website. Your eBook purchase and download will be completed by our partner Please see the permission section of the catalogue page for details of the print & copy limits on our eBooks.

Continue ×

Continue ×

Continue ×
warning icon

Turn stock notifications on?

You must be signed in to your Cambridge account to turn product stock notifications on or off.

Sign in Create a Cambridge account arrow icon

Find content that relates to you

Join us online

This site uses cookies to improve your experience. Read more Close

Are you sure you want to delete your account?

This cannot be undone.


Thank you for your feedback which will help us improve our service.

If you requested a response, we will make sure to get back to you shortly.

Please fill in the required fields in your feedback submission.