The novelty of this approach is the creation of intermediate products for beginner-level programs. When a novice is stuck, an expert or an instructor can inspect the existing intermediate products. The inspection is likely to use the generic questions from the design process and thus drive the novice to correct himself or herself. And this self-empowering process is the key difference between programming and program design.
personalmente me parece muy acertado eso de que un experto revise esos pasos y haga preguntas ya que no es solo decir “esto está mal”, sino guiar al principiante para que él mismo se dé cuenta del error, esto lo viví y la verdad no hay nada mas gratificante que uno mismo resuelva sus propios problemas porque cuando nos corregimos por nuestra cuenta, aprendemos mucho más que si solo nos dijeran la respuesta.