This was how most of my professors taught debugging, actually. Print statements. Reading the code is great but after a while it really does become hard to see where things go awry--especially in your own code. I think teaching students the basic concepts of debugging, break points, stepping, etc. will 1) clearly illustrate how bad print statement approaches are and 2) become annoying enough that it will make them better planners and code readers.