Richard W. Hamming, Richard Wesley Hamming

Mentioned 2

This inexpensive paperback edition of a groundbreaking text stresses frequency approach in coverage of algorithms, polynomial approximation, Fourier approximation, exponential approximation, and other topics. Revised and enlarged 2nd edition.

Mentioned in questions and answers.

I am working to become a scientific programmer. I have enough background in Math and Stat but rather lacking on programming background. I found it very hard to learn how to use a language for scientific programming because most of the reference for SP are close to trivial.

My work involves statistical/financial modelling and none with physics model. Currently, I use Python extensively with numpy and scipy. Done R/Mathematica. I know enough C/C++ to read code. No experience in Fortran.

I dont know if this is a good list of language for a scientific programmer. If this is, what is a good reading list for learning the *syntax* and *design pattern* of these languages in scientific settings.

this might be useful: the nature of mathematical modeling

Writing Scientific Software: A Guide to Good Style is a good book with overall advice for modern scientific programming.

I'm a scientific programmer who just entered the field in the past 2 years. I'm into more biology and physics modeling, but I bet what you're looking for is pretty similar. While I was applying to jobs and internships there were two things that I didn't think would be that important to know, but caused me to end up missing out on opportunities. One was MATLAB, which has already been mentioned. The other was database design -- no matter what area of SP you're in, there's probably going to be a lot of data that has to be managed somehow.

The book *Database Design for Mere Mortals* by Michael Hernandez was recommended to me as being a good start and helped me out a lot in my preparation. I would also make sure you at least understand some basic SQL if you don't already.

Ok here's my list of books that I've been using for the very same purpose:

Numerical Methods for Scientists and Engineers

Numerical Recipes 3rd Edition: The Art of Scientific Computing

CUDA by Example: An Introduction to General-Purpose GPU Programming

Using OpenMP: Portable Shared Memory Parallel Programming (Scientific and Engineering Computation)

Parallel Programming in C with MPI and OpenMP

Donald Knuth: Seminumerical Algorithms, Volume 2 of The Art of Computer Programming

Also I found myself using R rather than Python lately.

One issue scientific programmers face is maintaining a repository of code (and data) that others can use to reproduce your experiments. In my experience this is a skill not required in commercial development.

Here are some readings on this:

These are in the context of computational biology but I assume it applies to most scientific programming.

Also, look at Python Scripting for Computational Science.

Donald Knuth: Seminumerical Algorithms, Volume 2 of The Art of Computer Programming

Press, Teukolsky, Vetterling, Flannery: Numerical Recipes in C++ (the book is great, just beware of the license)

and have a gander at the source code for the GNU Scientific Library.

I'm currently attending the first year of college at Computer Science. I'm having great problems with something named Numerical Methods because I lack at mathematics. I don't have a basis for math concepts. Could any of you please tell me a good book, tutorial site or videos of Numerical Methods for people that don't have a clear basic knowledge of mathematics? I tried looking for something like "Numerical Methods for Dummies", but I didn't find anything equivalent.

Try sniffing around the internet for course notes (lecture notes) from other universities, especially for first year/second year *engineering* mathematics (for a general grounding) and numerical methods after that.

My university had very good lecture notes, but I can't distribute them. Other universities are more liberal.

You may also want to check out MIT OpenCourseWare, which contains lecture notes and course materials from the Massachusetts Institute of Technology. Some of the lecturers at MIT literally wrote the book on their respective field, so you can't go wrong with anything you find there.

Links to interesting courses on MIT OCW: