Computers are as important to modern science as telescopes and test tubes. Unfortunately, most scientists are never taught how to use them effectively. After a generic first-year programming course, most scientists have to figure out for themselves how to build, validate, maintain, and share complex programs. This is about as fair as teaching someone arithmetic and then expecting them to figure out calculus on their own, and about as likely to succeed.
It doesn’t have to be like this. Since 1997, the Software Carpentry course has taught scientists the concepts and skills they need to use computers more effectively in their research. This training has consistently had an immediate impact on participants’ productivity by making their current work less onerous, and new kinds of work feasible. The materials, which are available under an open license, have been viewed by over 140,000 people from 70 countries, and have been used at Cal Tech, the Space Telescope Science Institute, and other universities, labs, and companies around the world.
We also plan to modernize the format to include screencasts, recorded lectures, and interactive examples, so that students can work through most of the material independently. At the same time, we will provide online support so that they have somewhere to turn when they have questions or problems. We believe this will enable the course to help thousands of graduate students and working scientists get more done with less pain and frustration. We also hope that it will give them the foundation they need to tackle peta-scale computing, reproducible research, and other looming challenges.