That said I think there is a real need for a method to show newbies how to debug code and hardware.
If so there is also a need to do: (loosely described)
- requirements - learning to describe properly what the system must do in what context. (GOAL)
- analysis - understanding details of the requirements, check feasability, interference between requirements (WHAT)
- design - make a logical decomposition, what must be done in HW what must be done in SW what can be done in both, (HOW)
(includes reading datasheets of sensors etc)
further - soldering course
- communciation protocols ( I agree with GrayNomads Saelogic idea although with every Arduino might be overkill

and of course some things about the process
- some lessons about version control, making back ups, documentation of your sketch
Time to develop an MBA course? - MBA = "Master in Building Arduinoware"