The Demands and Requirements of Computer Programming: A Literature Review

Abstract
This review discusses recent literature on computer programming. It focuses on psychological studies of programming and selected issues related to instruction in programming. The purpose is to inform computer educators about the nature of the cognitive processes involved in programming, and the potential benefits to be gained from learning programming. Concerns relevant to pre-college students of programming are emphasized. The literature reviewed includes empirical studies of programming, rational analyses of the programming task by computer scientists, and expository essays by educators and psychologists. The literature is presented to illuminate three major issues: 1) what are the cognitive demands of programming and what are the possible cognitive outcomes? 2) how does instruction influence learning? 3) who benefits, and in what ways, from instruction?