Teaches students a step-by-step approach: problem specification → high-level design → method design → testing.