Cognitive Differences Between Procedural Programming and Object Oriented Programming

Software development is moving from procedural programming towards object-oriented programming (OOP). Past studies in cognitive aspects of programming have focused primarily on procedural programming languages. Object-oriented programming is a new paradigm for computing. Industry is finding that programmers are having difficulty shifting to this new programming paradigm.Findings in prior research revealed that procedural programming requires Piaget's formal operation cognitive level. New from this research is that OOP also requires Piaget's formal operation cognitive level. Also new is that OOP appears to be unrelated to hemispheric cognitive style. OOP appears to be hemispheric style friendly, while procedural programming is preferential to left hemispheric cognitive style.The conclusion is that cognitive requirements are not the cause for the difficulty in shifting from procedural to OOP. An alternative possibility to the difficulty is proactive interference of learning procedural programming prior to learning object oriented programming.

[1]  Jeffrey A. Hoffer,et al.  An Examination of Procedural and Object‐oriented Systems Analysis Methods: Does Prior Experience Help or Hinder Performance?* , 1999 .

[2]  J. Piaget Intellectual Evolution from Adolescence to Adulthood , 1972 .

[3]  Ralph Cafolla The relationship of piagetian formal operations and other cognitive factors to computer programming ability , 1986 .

[4]  Larry Franklin Little The influence of structured programming, gender, cognitive development and engagement on the computer programming achievement and logical thinking skills of secondary students , 1985 .

[5]  Bill C. Hardgrave,et al.  An introduction to object COBOL , 1997 .

[6]  David Bellin A seminar course in object oriented programming , 1992, SIGCSE '92.

[7]  Bob Rehder,et al.  Cognitive activities and levels of abstraction in procedural and object-oriented design , 1995 .

[8]  Andrew Topper Object-Oriented Development in COBOL , 1995 .

[9]  Norman E. Gibbs,et al.  A model curriculum for a liberal arts degree in computer science , 1986, CACM.

[10]  Antony Galton,et al.  Logic as a Formal Method , 1992, Comput. J..

[11]  Mary Lynn Manns,et al.  An Exploration of Schema Development in Procedure-Oriented Programmers Learning Object-Oriented Technology , 1993, ICIS.

[12]  Eugene L. Chiappetta A review of piagetian studies relevant to science instruction at the secondary and college level , 1976 .

[13]  Deanna Kuhn,et al.  The development of formal operations in logical and moral judgment. , 1977 .

[14]  Garry L. White,et al.  A Theory of the Relationships between Cognitive Requirements of Computer Programming Languages and Programmers' Cognitive Characteristics , 2002, J. Inf. Syst. Educ..

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

[16]  Tzilla Elrad,et al.  Aspect-oriented programming: Introduction , 2001, CACM.

[17]  Imran Bashir,et al.  Securing network software applications: introduction , 2001, CACM.

[18]  E. Hofmann,et al.  The fornix of the human brain: evidence of left/right asymmetry on axial MRI scans , 1997, Surgical and Radiologic Anatomy.

[19]  Gordon H. Bower,et al.  Theories of learning, 3rd ed. , 1966 .

[20]  Rachid Guerraoui,et al.  Strategic directions in object-oriented programming , 1996, CSUR.

[21]  E. Hofmann,et al.  The fornix of the human brain: evidence of left/right asymmetry on axial MRI scans , 1997, Surgical and Radiologic Anatomy.

[22]  Herman T. Epstein,et al.  Stages in human mental growth. , 1990 .

[23]  Dennis Michael Irons Predicting programming performance in novice programmers by measures of cognitive abilities , 1988 .

[24]  M. P. Bryden,et al.  Choosing sides: The left and right of the normal brain. , 1990 .

[25]  Akhilesh Chandra,et al.  User cognitive representations: The case for an object oriented model , 1998, J. Syst. Softw..

[26]  Milton Schwebel,et al.  Formal Operations in First-Year College Students. , 1975, The Journal of psychology.

[27]  H. James Nelson,et al.  Exploring the Difficulties of Learning Object-Oriented Techniques , 1997, J. Manag. Inf. Syst..

[28]  Margaret Gradwell Mains The effects of learning a programming language on logical thinking skills , 1998 .

[29]  R. Andrew,et al.  The differential roles of right and left sides of the brain in memory formation , 1999, Behavioural Brain Research.

[30]  Joshua M. Greenbaum Component architectures, the Web and open middleware all figured prominently last year as enterprise app vendors geared up for the future , 1997 .

[31]  Jane Fedorowicz,et al.  Surveying object technology usage and benefits: A test of conventional wisdom , 1999, Inf. Manag..

[32]  Thomas R. Koballa,et al.  Predicting success in the undergraduate introductory computer science course using the theory of planned behavior , 1990 .

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

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

[35]  Robert E. Filman,et al.  What Is Aspect-Oriented Programming , 2001 .

[36]  Stephen H. Fletcher Cognitive Abilities and Computer Programming. , 1984 .

[37]  M Monfort,et al.  Information-Processing Differences and Laterality of Students from Different Colleges and Disciplines , 1990, Perceptual and motor skills.

[38]  Ted E. Lee,et al.  What Might Go Wrong with Lan Design and Implementation? , 2002, J. Comput. Inf. Syst..