Expert-novice knowledge of computer programming at different levels of abstraction.

Computer programming knowledge can be classified into five levels of abstraction: objective, conceptual, functional, logical, and physical. An experiment was carried out to determine whether the mastering of knowledge at different levels of abstraction changed with the level of skill. Ten experts and ten novices in C computer programming participated in the experiment. The subjects' knowledge at the five levels of abstraction was tested through 20 multiple-choice questions. The experimental results indicated that knowledge differences between experts and novices at an abstract level or a concrete level depended on what abstract or concrete knowledge was implied. Experts had better abstract knowledge than novices at the conceptual and functional levels but not at the objective level. Experts had better concrete knowledge than novices at the physical level but not at the logical level. The classification of computer programming knowledge in levels of abstraction and the experimental results helped in clarifying a general finding from previous studies that experts had better abstract knowledge than novices.

[1]  B. Adelson Problem solving and the development of abstract categories in programming languages , 1981, Memory & cognition.

[2]  John R. Anderson Acquisition of cognitive skill. , 1982 .

[3]  Sandra L. Newsome,et al.  Presenting Abstract versus Concrete Information in Expert Systems: What is the Impact on User Performance? , 1989, Int. J. Man Mach. Stud..

[4]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[5]  R. P. Hastings,et al.  SUGI supplemental library user's guide , 1986 .

[6]  Ben Shneiderman,et al.  Software psychology: Human factors in computer and information systems (Winthrop computer systems series) , 1980 .

[7]  Helen Sharp The role of domain knowledge in software design , 1991 .

[8]  Robin Jeffries,et al.  The Processes Involved in Designing Software. , 1980 .

[9]  Scott P. Robertson,et al.  Common Cognitive Representations of Program Code Across Tasks and Languages , 1990, Int. J. Man Mach. Stud..

[10]  Ben Shneiderman,et al.  Designing the User Interface: Strategies for Effective Human-Computer Interaction , 1998 .

[11]  R. L. Ebel,et al.  Essentials of educational measurement , 1972 .

[12]  Robert S. Rist Plans in programming: definition, demonstration, and development , 1986 .

[13]  N. Pennington Stimulus structures and mental representations in expert comprehension of computer programs , 1987, Cognitive Psychology.

[14]  B. Adelson When Novices Surpass Experts: The Difficulty of a Task May Increase With Expertise , 1984 .

[15]  G. Salvendy,et al.  Cognitive performance of super-experts on computer program modification tasks , 1991 .

[16]  Alan M. Davis,et al.  Software requirements - analysis and specification , 1990 .

[17]  Woodrow Barfield,et al.  Expert-novice differences for software: implications for problem-solving and knowledge acquisition , 1986 .