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.