That's interesting breaking a problem down into steps seems such an intuitive approach.
Coming from a technical programming background Middle Out is the methodology I often use BTW
Which level are you teaching at? I would expect University students to be capable of "taking a problem and dividing it into small tasks "