This article describes a one-semester course that teaches scientists and engineers the most important aspects of modern software development. This course has shown a significant increase in the efficiency of the students in computational work. Topics include the importance of version control, testing, scripting languages, and collaborative software development. The course focuses on small-scale and immediately practical issues.
No takes yet. Share an insight, caveat, or question.
Greg Wilson (2006) studied this question.