Geoff Davis pointed me to the Software Carpentry site, which looks like an intensive web-based course on good software development practices for scientists and engineers. It has been assembled by Greg Wilson and covers topics like Version Control, Automated Builds, Object-Oriented Programming, Unit Tests, XML, Coding Style, and many more. It uses Python examples to illustrate many points.
This course looks like one of the most useful resources for scientists who are creating computational tools but don’t know what’s out there to help them build and debug their tools. I’ve learned a lot from Greg’s course in about a half hour, so it is probably worth a longer look.