I second the recommendation of Udacity's Software Testing course and Software Debugging course. Software Testing is taught by the author of csmith, and Software Debugging is taught by the author of delta.
I feel that most CS curriculums could be improved by teaching more of testing and debugging. Do you know why it is not done?