Software Carpentry
The slides from a course called Software Carpentry are online. Here’s the description:
This course is an intensive introduction to basic software development practices for scientists and engineers that can reduce the time they spend programming by 20-25%. All of the material is open source: it may be used freely by anyone for educational or commercial purposes, and research groups in academia and industry are actively encouraged to adapt it to their needs.
The site seems unusually slow right now, but it is working.