Concrete and other neo-Piagetian forms of reasoning in the novice programmer

This paper brings together a number of empirical research results on novice programmers, using a neo-Piagetian theoretical framework. While there already exists literature connecting programming with classical Piagetian theory, in this paper we apply neo-Piagetian theory. Using that neo-Piagetian perspective, we offer an explanation as to why attempts to predict ability for programming via classical Piagetian tests have yielded mixed results. We offer a neo-Piagetian explanation of some of the previously puzzling observations about novice programmers, such as why many of them make little use of diagrams, and why they often manifest a non-systematic approach to writing programs. We also develop the relatively unexplored relationship between concrete operational reasoning and programming, by exploring concepts such as conservation and reversibility.

[1]  Lynda Thomas,et al.  Scaffolding with object diagrams in first year programming classes: some unexpected results , 2004, SIGCSE '04.

[2]  Gwen Bredendieck Fischer Computer Programming: A Formal Operational Task. , 1986 .

[3]  Tony Clear,et al.  An Australasian study of reading and comprehension skills in novice programmers, using the bloom and SOLO taxonomies , 2006 .

[4]  Jens Bennedsen,et al.  Abstraction ability as an indicator of success for learning object-oriented programming? , 2006, SGCS.

[5]  Leonard N. Huber Computer Learning Through Piaget's Eyes. , 1985 .

[6]  Raymond Lister The Neglected Middle Novice Programmer: Reading and Writing without Abstracting , 2007 .

[7]  Ralph Cafolla Piagetian Formal Operations and other Cognitive Correlates of Achievement in Computer Programming , 1987 .

[8]  Barry L. Kurtz,et al.  Investigating the relationship between the development of abstract reasoning and performance in an introductory programming class , 1980, SIGCSE '80.

[9]  Raymond Lister,et al.  Relationships between reading, tracing and writing skills in introductory programming , 2008, ICER '08.

[10]  Ibrahim A. Halloun,et al.  The initial knowledge state of college physics students , 1985 .

[11]  Jeff Kramer,et al.  Is abstraction the key to computing? , 2007, CACM.

[12]  David Ginat,et al.  Hasty design, futile patching and the elaboration of rigor , 2007, ITiCSE.

[13]  David E. Anderson,et al.  Formal Operations and Learning Style Predict Success in Statistics and Computer Science Courses , 1990 .

[14]  G. A. Miller THE PSYCHOLOGICAL REVIEW THE MAGICAL NUMBER SEVEN, PLUS OR MINUS TWO: SOME LIMITS ON OUR CAPACITY FOR PROCESSING INFORMATION 1 , 1956 .

[15]  Colin J. Fidge,et al.  Further evidence of a relationship between explaining, tracing and writing skills in introductory programming , 2009, ITiCSE.

[16]  ListerRaymond,et al.  Further evidence of a relationship between explaining, tracing and writing skills in introductory programming , 2009 .

[17]  Anne Venables,et al.  A closer look at tracing, explaining and code writing skills in the novice programmer , 2009, ICER '09.

[18]  Susan Bergin,et al.  Automated assessment in CS1 , 2006 .

[19]  Raymond Lister,et al.  Early relational reasoning and the novice programmer: swapping as the hello world of relational reasoning , 2011, ACE 2011.

[20]  Orit Hazzan,et al.  Reflections on teaching abstraction and other soft ideas , 2008, SGCS.

[21]  Kevin F. Collis,et al.  Evaluating the Quality of Learning: The SOLO Taxonomy , 1977 .

[22]  J. Flavell On cognitive development. , 1982 .

[23]  Stephen H. Edwards Using software testing to move students from trial-and-error to reflection-in-action , 2004 .

[24]  C. Brainerd Piaget's theory of intelligence , 1978 .

[25]  Robert McCartney,et al.  Naturally occurring data as research instrument: analyzing examination responses to study the novice programmer , 2010, SGCS.

[26]  Mark Guzdial,et al.  A multi-national, multi-institutional study of assessment of programming skills of first-year CS students , 2001, ITiCSE-WGR '01.

[27]  Edsger W. Dijkstra,et al.  The humble programmer , 1972, CACM.

[28]  Raymond Lister,et al.  Not seeing the forest for the trees: novice programmers and the SOLO taxonomy , 2006, ITICSE '06.

[29]  Sergio Morra,et al.  Cognitive Development : Neo-Piagetian Perspectives , 2012 .

[30]  Leslie Smith,et al.  Jean Piaget : critical assessments , 1992 .

[31]  E. A. Unger,et al.  A predictor for success in an introductory programming class based upon abstract reasoning development , 1983, SIGCSE '83.

[32]  Allen B. Tucker,et al.  Computing Curricula 1991 , 1991, CACM.