Mental models, consistency and programming aptitude

Learning to program is notoriously difficult. Substantial failure rates plague introductory programming courses the world over, and have increased rather than decreased over the years. Despite a great deal of research into teaching methods and student responses, there have been to date no strong predictors of success in learning to program. Two years ago we appeared to have discovered an exciting and enigmatic new predictor of success in a first programming course. We now report that after six experiments, involving more than 500 students at six institutions in three countries, the predictive effect of our test has failed to live up to that early promise. We discuss the strength of the effects that have been observed and the reasons for some apparent failures of prediction.

[1]  Benedict du Boulay,et al.  Some Difficulties of Learning to Program , 1986 .

[2]  Elliot Soloway,et al.  Uncovering principles of novice programming , 1983, POPL '83.

[3]  Steven J. Vaughan-Nichols The Battle over the Universal Java IDE , 2003, Computer.

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

[5]  Jean-Pierre Jouannaud Proc. of a conference on Functional programming languages and computer architecture , 1985 .

[6]  Maarten van Someren,et al.  What's wrong? Understanding beginners' problems with Prolog , 1990 .

[7]  José J. Cañas,et al.  Mental models and computer programming , 1994, Int. J. Hum. Comput. Stud..

[8]  Elliot Soloway,et al.  Studying the Novice Programmer , 1988 .

[9]  Kasper Green Larsen,et al.  Mental models and programming aptitude , 2007, ITiCSE '07.

[10]  Stuart Wray,et al.  SQ Minus EQ can Predict Programming Aptitude , 2007, PPIG.

[11]  Philip N. Johnson-Laird,et al.  A Model Theory of Modal Reasoning , 1998, Cogn. Sci..

[12]  Derek H. Sleeman,et al.  A Summary of Misconceptions of High School Basic Programmers , 1984 .

[13]  D. A. Turner,et al.  Miranda: A Non-Strict Functional language with Polymorphic Types , 1985, FPCA.

[14]  P. Johnson-Laird,et al.  The psychology of syllogisms , 1978, Cognitive Psychology.

[15]  Saeed Dehnadi,et al.  Testing Programming Aptitude , 2006, PPIG.

[16]  湯淺 太一,et al.  20世紀の名著名論:Seymour Papert: Mindstorms:Children Computers and Powerful Ideas Basic Books New York 1980 , 2005 .

[17]  P. Johnson-Laird Comprehension as the Construction of Mental Models , 1981 .

[18]  Renee Hobbs,et al.  Conditions of Learning in Novice Programmers , 1986 .

[19]  Michael Kölling,et al.  The BlueJ System and its Pedagogy , 2003, Comput. Sci. Educ..

[20]  R. Mayer Thinking, Problem Solving, Cognition , 1983 .

[21]  Margaret Hamilton,et al.  Predictors of success in a first programming course , 2006 .

[22]  Seymour Papert,et al.  Mindstorms: Children, Computers, and Powerful Ideas , 1981 .

[23]  John S. Murnane The psychology of computer languages for introductory programming courses , 1993 .

[24]  Philip N. Johnson-Laird,et al.  A Model Theory of Modal Reasoning , 1998 .

[25]  Benedict duBoulay,et al.  Some Difficulties of Learning to Program , 1986 .

[26]  Kosta Dosen,et al.  Models of Deduction* , 2006, Synthese.

[27]  Elliot Soloway,et al.  Preprogramming Knowledge: A Major Source of Misconceptions in Novice Programmers , 1985, Hum. Comput. Interact..

[28]  Philip Banyard,et al.  Thinking & problem solving , 1991 .

[29]  B. Adelson,et al.  The Role of Domain Expenence in Software Design , 1985, IEEE Transactions on Software Engineering.

[30]  Richard Bernat,et al.  Programming from first principles , 1987 .

[31]  P. Johnson-Laird Mental models , 1989 .