There is a recent MOOC, Defensive Programming and Debugging
Want to improve your ability to identify and fix bugs in code?
On this course, you’ll discover how to reduce bugs during software development. You’ll learn with examples in both C and Fortran programming languages and understand how to catch bugs early using compiler features and writing tests for your code.
You’ll learn to find the bugs in your code using the best tools available including debuggers and code analysers. You’ll also look at parallel programs and explore tools for debugging parallel code at scale.
By the end of the course, you’ll feel confident writing high-quality and clean code.
with code here. Another MOOC with shared co-authors is Fortran for Scientific Computing.