Cognitive processing differences between novice and expert computer programmers

https://doi.org/10.1016/S0020-7373(87)80058-5Get rights and content

Abstract

Research on cognitive processing differences between novice and expert groups has recently begun to focus on applied areas like computer programming. An often-used research paradigm has measured subjects' syntactic memory, their ability to recall briefly presented computer programs. This study demonstrates that expert programmers use semantic memory and high-level plan knowledge to direct their programming activities. Fifty subjects were divided into novice and expert groups based on the number of programming courses taken. Four tests were developed to measure syntactic memory, semantic memory, tactical skill, and strategic skill. Experts performance was superior on all tests. Additionally, the best set of predictors of programmer expertise was semantic memory, tactical skill, and syntactic memory. Results from this and subsequent research may have implications for areas such as selection and training.

References (26)

  • M.E. Atwood et al.

    Cognitive structures in the comprehension and memory for computer programs: an investigation of computer programming debugging

  • N. Charness

    Memory for chess positions: Resistance to interference

    Journal of Experimental Psychology : Human Learning and Memory

    (1976)
  • A.A. Cleveland

    The psychology of chess and of learning to play it

    American Journal of Psychology

    (1907)
  • Cited by (34)

    • Systematic literature review of empirical studies on mental representations of programs

      2020, Journal of Systems and Software
      Citation Excerpt :

      The data collected in our review and found in the Method column of the extended online appendix1 indicate that the types of programmers compared in the studies have changed over time. From the first study in 1976 until 1990, the only types of programmers that were compared in the studies were programmers of varying levels of expertise (Shneiderman, 1976; Adelson, 1981; McKeithen et al., 1981; Ehrlich and Soloway, 1984; Soloway and Ehrlich, 1984; Adelson, 1984; Barfield, 1986; Schmidt, 1986; Bateson et al., 1987; Boehm-Davis et al., 1987; Vessey, 1987; Vihmalo and Vihmalo, 1988; Davies, 1990b; Guerin and Matthews, 1990). Programmers were categorized as expert, intermediate, or novice to indicate their expertise in the programming language used in the study or their expertise in the domain relevant to the program.

    • Influence factors for local comprehensibility of process models

      2015, International Journal of Human Computer Studies
      Citation Excerpt :

      Unlike novices, people with a higher programming knowledge memorize program structures as patterns. When developing program elements, they plan on a higher, abstract level (Bateson et al., 1987). While it can be objectively determined whether a given conclusion is valid in a deductive reasoning task, its phrasing as well as the validity of the conclusion may lead to reasoning biases.

    • A note on the quantification of computer programming skill

      1994, International Journal of Human - Computer Studies
    View all citing articles on Scopus
    View full text