3 ms·
This is the classic Chase & Simon (1973) article. Similarly, programming skill has been described as being based on the ability to remember abstract solutions (
by mixu 16y ago
This is the classic Chase & Simon (1973) article. Similarly, programming skill has been described as being based on the ability to remember abstract solutions (programming schemas e.g. Davies, 1994; Détienne & Soloway, 1990; Soloway, 1986) and applying them. From the perspective of a non-programmer, a program is just a wall of text. I remember someone did the same basic experiment with program fragments (real vs. random) and got similar results.
Experts can write the focal elements (e.g. pseudocode) first and then expand them into a full program. A good example might be the fizzbuzz test, or generating the permutations of a string, you'll have an idea of what the problem involves because you've done it before. If you can't visualize the problem in terms of something familiar, you'll have a hard time taking a top-down (e.g. memory-recall-based) approach.