1
Introduction to Research on Teaching and Learning Computer Programming
Richard E. Mayer
University of California, Santa Barbara
I. | Recent Developments |
| A. | Phase 1: Powerful Claims |
| B. | Phase 2: Disappointing Realities |
| C. | Phase 3: Multidisciplanary Research and Theory |
II. | Current Research Issues |
| A. | Teaching Computer Programming |
| B. | Learning Computer Programming |
III. | Overview of Chapters |
IV. | Implications |
Abstract
Research on teaching and learning computer programming is in its childhood; however, already scholars are reaching some preliminary consensus concerning the respective merits of mediated versus discovery instruction and the conditions for transfer to nonprogramming domains. This chapter begins by briefly summarizing recent developments in educational computing. The next section of the chapter explores two topics that have begun to receive research attention during the past few years: identifying appropriate methods of instruction for computer programming and describing the cognitive consequences of learning computer programming. In the third section, some of the contributions of each chapter in this volume are highlighted. Finally, the chapter closes with an analysis of the implications of current research on teaching and learning computer programming.
Recent Developments
This book is concerned with what research can tell us about teaching and learning computer programming. Computers are rapidly becoming a part of schooling and computer programming is finding its place in the curriculum. Until recently, however, not much was known about how students learn or what students learn from programming experiences.
The history of research on teaching and learning computer programming can be analyzed into three phases: an initial phase in which many strong claims were made concerning the expected outcomes and best methods of instruction for computer programming, an observation phase in which mounting data pointed to problems in studentsâ learning, and a research phase in which theory-based studies were carried out to systematically understand the processes underlying learning and teaching computer programming.
Phase 1: Powerful Claims
Imagine an educational revolution in which children, working on their own in a highly responsive environment, could teach themselves to be more systematic and organized problem solvers. This is the vision that underlaid much of the early interest in educational computing and that stimulated claims for discovery teaching and highly transferable learning.
In his influential book, Mindstorms: Children, Computers and Powerful Ideas, Papert (1980, p. 19) offered an alternative to using the computer to âput children through their paces.â Instead of letting the computer program the child, Papert envisioned a reversal in which the child would program the computer. âMy vision of a new kind of learning environment demands free contact between children and computers,â Papert (1980, p. 60) proclaimed. Furthermore, âin teaching the computer how to think, children embark on an exploration about how they themselves thinkâ (p. 19). The result is that âpowerful intellectual skills are developed in the processâ (p. 60).
Papertâs (1980) advocacy for computer programming as a worthwhile educational domain seemed to have implications for both the instructional methods and expected outcomes of school programs in computing. First, early advocates for computer programming argued for a discovery approach that allowed for plenty of hands-on programming experience in an unstructured environment. Second, early advocates argued that students who learned how to program computers would also show increases in general cognitive development; that is, in learning to program, children would also learn how to think (Mayer, Dyck, & Vilberg, 1986).
Thus, as the 1980s began, there were many strong claims made for the power of computer programming as a vehicle for learning problem-solving skills and for discovery as the instructional method of choice, but there was no powerful research support for the claims.
Phase 2: Disappointing Realities
As computer programming projects began to appear with more frequency in schools, observations of student learning did not always match the powerful claims. The ideal vision of studentsâ becoming better problem solvers due to hands-on LOGO learning collided with the documented reality of studentsâ difficulties in learning even the fundamentals of LOGO (Dalbey & Linn, 1985; Fay & Mayer, 1987; Gregg, 1978; Kurland & Pea, 1985; Linn, 1985; Pea & Kurland, 1984; Perkins, 1985; Webb, 1984).
For example, Nickerson, Perkins, and Smith (1985) summarized the unpublished results of a small scale LOGO project involving 16 students conducted by Papert and his colleagues in Brookline, Massachusetts. The instructional method included up to 35 hours of hands-on, nondirective programming experience as advocated by Papert (1980). Case studies of individual children indicated that âstudents developed a number of skills specific to programming, but we are less certain that they developed powerful general skillsâ (Nickerson et al., 1985, p. 277).
Nickerson et al. (1985) also summarized some early evaluations of LOGO instruction carried out by Pea and Kurland at the Bank Street College of Education. Approximately 50 children received about 25 hours of hands-on, nondirective instruction. Nickerson et al. (1985, p. 277) summarize the findings as âdisappointingâ because students performed poorly on predicting what would happen for various LOGO commands, locating bugs in procedures, and writing programs that involved variables or conditional tests. Intensive studies of seven children who received more in depth LOGO programming experience revealed that âstudents often produced programs without really comprehending how the programs workedâ (Nickerson et al., 1985, p. 277).
Learning even the rudiments of LOGO appeared to be difficult for children and transfer to other domains seemed minimal. In a comparison of students who received extensive LOGO programming experience with students who received no programming experience, Pea and Kurland (1984) found no major differences on tests of general planning skill and, hence, no support for the idea that learning to program improves thinking in domains beyond programming. Based on a survey of early studies, Perkins (1985, p. 12) was forced to conclude that research had disclosed âno transfer of skill and poor learning within LOGO itself.â Similarly, Dalbey and Linnâs (1985, p. 267) review of research in the mid-1980s indicated that âstudents who learn LOGO fail to generalize this learning to other tasks.â
Thus, by the mid-1980s, it was clear that learning how to use a programming language did not seem to result in powerful learning outcomes. The occasional hint of positive transfer (Clements & Gullo, 1984; Gorman & Bourne, 1983) occurred under more guided methods of instruction and was not yet replicated. As Dalbey and Linn (1985, p. 267) observed, in those few documented cases of students learning transferable skills from LOGO, the degree of transfer was restricted to the âspecific applications of particular language featuresâ and resulted from âinstruction which emphasizes transfer.â
Phase 3: Multidisciplinary Research and Theory
As the 1980s draw to a close, we have survived the first two phasesâstrong claims and disappointing realitiesâand are entering into a new phase of multi-disciplinary theory-based research. The initial vision of teaching and learning computer programming has been altered in two important ways: First, instead of advocating discovery methods of instruction, current research suggests that more guidance is needed to insure learning. The focus of current research is on understanding how the conditions of instruction affect what is learned. Second, instead of predicting major changes in childrenâs cognitive development, current research suggests that transfer is most likely to occur for skills most similar to those learned in programming. The focus of current research is on understanding the conditions under which transfer can be expected to occur.
Research during this third phase has begun to find evidence for transfer but only under certain conditions. For example, Mayer and Fay (1987) found evidence of positive transfer of spatial cognition skills for students who meaningfully learned to use several LOGO turtle graphics commands, and Mayer, Dyck, and Vilberg (1986) found evidence of positive transfer of procedure comprehension skills for students who successfully mastered elementary BASIC computer programming. In both cases, an apparent prerequisite for transfer of problem-solving skills beyond programming was that the skill had been successfully understood within the programming domain. Similarly, in both cases transfer occurred for skills in nonprogramming domains that were clearly analogous to skills within the programming domain.
Research since the mid-1980s has become increasingly more theory driven. Instead of asking, âDoes learning a programming language affect a childâs thinking skills?â a more productive set of questions is, âWhat is learned from instruction in computer programming?â or âHow does the method of instruction affect the studentâs cognitive processing?â Instead of evaluating the effectiveness of an instructional program, current research begins with a cognitive analysis of programming knowledge into parts that can be specified, evaluated, and taught. Furthermore, current research draws on theories of transfer in order to better understand the cognitive conditions under which transfer occurs.
This book represents a picture of the current state of research on teaching and learning computer programming. Although the vision of the first phase has become more modest, moderated partly by the realities of the second phase, the current phase of research retains the idea that computer programming may ultimately become an exciting and revolutionary part of the curriculum. The challenge for researchers and educators is to understand the relationship between learning to program and learning to think.
The goals for teaching computer programming remain a central issue today as they did for Papert in 1980 but the research goals and theories have begun to mature. Computer programming can be viewed as a subject to be learned for its own sake or as a vehicle for teaching students about their own thinking processes. This latter view still entices and challenges us, and the emerging cognitive theory of computer programming enables us to more fruitfully accept the challenge.
Current Research Issues
The chapters in this book address the current state of research on two issues: teaching computer programming and learning computer programming.
Teaching Computer Programming
The teaching issue is concerned with determining instructional factors that contribute to studentsâ productive learning of computer programming. Here, we may begin with the hypothesis, stimulated by Papert (1980), that hands-on computer programming experience in a discovery environment is best. Many of the chapters in this volume report empirical studies of the merits of discovery as a method for teaching computer programming.
The overwhelming consensus among the authors in this volume is that, for most children, a hands-on discovery environment should be complemented with direct instruction and mediation by a teacher. For example, in chapter 2 Clements and Merriman conclude that âit is clear that LOGO programmingâespecially divorced from mediated instructionâdoes not represent an educational panacea, as Papert is often misunderstood to have claimed.â In chapter 3, Fay and Mayerâs study of school children in LOGO classrooms found that many children enter the classrooms with âinaccurate models & of the LOGO graphics environmentâ and may ârequire more direct instruction or pretraining in the prerequisite skills in order to benefit from LOGO experience.â Lehrer et al. (chap. 4) summarize their studies by noting that âmediated instruction in LOGO is a prerequisite for the transfer of LOGO to other domains.â Littlefield et al. (chap. 5) report that âmastery of the programming language has not been achieved when LOGO has been taught in a discovery-oriented environmentâ and âif mastery is not achieved, the discovery and transfer of general thinking skills as a result of learning LOGO cannot occur.â In chapter 6, Soloway et al. argue that transfer of programming skills requires that students be given guided learning emphasizing that ââthere is more than one right answerâ to programming problems. Perkins et al. (chap. 9) present research showing that productive learning of programming is enhanced by guiding studentsâ âdevelopment of mental models through which they understand what the computer doesâ and helping students acquire âstrategies & to organize their problem-solving efforts.â In chapter 8, Webb and Lewisâs research indicates that learning of computer programming is enhanced when students engage in the following activities: âgiving explanations, giving & suggestions, receiving responses to questions, receiving &...