Exploring Core Cognitive Skills of Computational Thinking

Although still innovative and not largely disseminated, Computational Thinking is being considered as a critical skill for students in the 21st century. It involves many skills, but programming abilities seem to be a core aspect since they foster the development of a new way of thinking that is key to the solution of problems that require a combination of human mental power and computing power capacity. This paper presents an exploratory study developed to select psychological assessment tests that can be used to identify and measure Computational Thinking cognitive processes, associated to the programming component, so that strategies can be developed to promote it. After the literature review, we identified four central cognitive processes implied in programming, therefore important to Computational Thinking, and accordingly selected a set of four tests that were administered to a sample of 12 introductory programming students. Our results suggest that spatial reasoning and general intelligence are crucial dimensions for introductory programming, being also correlated to the students’ academic success in this area. However, arithmetic reasoning and attention to detail tests did not correlate. Based on these results, directions for future research have been defined in order to effectively identify and develop the core cognitive processes of programming, ergo, to help develop Computational Thinking.

[1]  John E. Hunter,et al.  The Dimensionality of the General Aptitude Test Battery (GATB) and the Dominance of General Factors over Specific Factors in the Prediction of Job Performance for the U.S. Employment Service. , 1983 .

[2]  Elliot Soloway,et al.  Empirical Studies of Programmers: Second Workshop , 1991 .

[3]  Susan Wiedenbeck,et al.  Factors affecting course outcomes in introductory programming , 2004, PPIG.

[4]  David B. Mayer,et al.  Selection and evaluation of computer personnel- the research history of SIG/CPR , 1968, ACM National Conference.

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

[6]  Jack M. Wolfe,et al.  Perspectives on testing for programming aptitude , 1971, ACM '71.

[7]  Roy D. Pea,et al.  On the Cognitive Prerequisites of Learning Computer Programming. Technical Report No. 18. , 1983 .

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

[9]  Peter Naur,et al.  Programming as theory building , 1985 .

[10]  Jan Stelovsky,et al.  The role of mental models in programming: from experiment to requirements for an interactive system , 1986, Informatics and Psychology Workshop.

[11]  K. Holyoak,et al.  Analogical problem solving , 1980, Cognitive Psychology.

[12]  Gerald M. Weinberg,et al.  Psychology of computer programming , 1971 .

[13]  Tony Jenkins,et al.  Research-led innovation in teaching and learning programming , 1999, ITiCSE '99.

[14]  Andy P. Field,et al.  Discovering Statistics Using SPSS , 2000 .

[15]  Nedjeljko Frančula The National Academies Press , 2013 .

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

[17]  K. Holyoak,et al.  Schema induction and analogical transfer , 1983, Cognitive Psychology.

[18]  Anthony V. Robins,et al.  Learning edge momentum: a new account of outcomes in CS1 , 2010, Comput. Sci. Educ..

[19]  Richard E. Mayer,et al.  The Psychology of How Novices Learn Computer Programming , 1981, CSUR.

[20]  Janet Rountree,et al.  Learning and Teaching Programming: A Review and Discussion , 2003, Comput. Sci. Educ..

[21]  Stephen Emmott,et al.  Towards 2020 Science , 2006 .

[22]  Andy Field,et al.  Discovering statistics using SPSS, 2nd ed. , 2005 .

[23]  Nancy Pennington,et al.  Comprehension strategies in programming , 1987 .

[24]  Lawrence J. Mazlack,et al.  Identifying potential to acquire programming skill , 1980, CACM.

[25]  Gerald M. Weinberg,et al.  Egoless Programming (Excerpt from the Psychology of Computer Programming, Silver Anniversary Edition). , 1998 .

[26]  A. Bundy Computational Thinking is Pervasive , 2007 .

[27]  Linda Sherrell,et al.  Why computational thinking should be integrated into the curriculum , 2010 .