In educational terms, the student programmer is learning by example and then learning by doing. The initial copy provides a roadmap, and the subsequent changes deepen comprehension. Educators can take ...