ABSTRACT
Expertise in programming is developed over many years of writing code to solve a
series of harder and harder problems. A programmer does not gradually get smarter
as time goes on; it is the knowledge that changes. An expert has seen, built, and
remembered many solutions, but the solution code cannot be what is stored in the
expert's memory. First, it is too large. A complete solution is built up from smaller
parts and it is these parts that are combined in new ways to build a new program.