Version control is not just a collaboration tool. It's other main benefit is that it gives you complete undo back to any previous state of your software. If you are doing exploratory research, that could be very helpful. You can try changing pretty much anything, no matter how risky, because if you find it is not working out you can just discard that branch, go back, and try something else. Of course, you could manually keep backup copies, providing you remember to do one before each set of changes - but really that is what version control does for you. It automatically keeps every version of your software for you with minimal hassle.
The most powerful tool for 'ensur[ing] that software is correct' would be unit testing. Something that might be quite easy to apply to a lot of scientific programs. Certainly something that can easily be taught in a programming course.
Tim - who comes from the professional software development side of things. Thanks for an interesting article.
posted by Tim Hunt
August 8, 2009
About once a month at Sigma Xi headquarters, we liven up the lunch hour with an American Scientist Pizza Lunch talk. In these informal lectures, scientists describe new research to nonscientists. The series is light on jargon but heavy on solid science. Each Pizza Lunch offers an in-depth look at its subject, whether it's bedbugs or the smart grid. Click below to read about and download these talks -- and to subscribe!
JSTOR, the online academic archive, now contains complete back issues of American Scientist from its inception in 1913 (as Sigma Xi Quarterly) through 2005.
The table of contents for each issue is freely available to all users; those with institutional access can read each complete issue.
View the full collection here.