Can everybody learn to code?: computer science community perceptions about learning the fundamentals of programming

Recently, we have seen a wave of initiatives that encourage everybody (from children to adults) to learn to code and many countries implement new K-12 computing curricula. However, research has identified the numerous challenges experienced by students learning to code. With much of the literature focused on student perceptions and capabilities, what insight might the computer science (CS) community offer about learning to code that may guide future directions in K-12 practice and research? We invited the CS community to respond to an online survey about learning to code. This survey forms a pilot to determine whether the topic warrants further exploration. We explore the responses in light of the introductory programming literature and Mindset Theories to identify perceived capabilities required, the challenges and potential barriers to learning to code. Our results were based on a small sample, mostly from Australian academics and IT professionals. A majority perceived that anybody could learn to code, with effort and motivation, however, that more advanced levels of programming require mathematical logic, a desire and ability for problem-solving and abstract thinking. A variety of challenges were identified, which may have implications for CS education and research. The findings warrant further exploration into the area of CS community perceptions, particularly with educators of introductory programming courses.

[1]  Jeannette M. Wing An introduction to computer science for non-majors using principles of computation , 2007, SIGCSE.

[2]  Robert McCartney,et al.  A multi-national study of reading and tracing skills in novice programmers , 2004, ITiCSE-WGR '04.

[3]  Nickolas J. G. Falkner,et al.  Computer science students' causal attributions for successful and unsuccessful outcomes in programming assignments , 2013, Koli Calling '13.

[4]  Mark Guzdial,et al.  How to make progress in computing education , 2010, Commun. ACM.

[5]  Margaret Anne Pierce,et al.  Attributional style as a predictor of success in a first computer science course , 1993 .

[6]  George Ghinea,et al.  Implicit theories of programming aptitude as a barrier to learning to code: are they distinct from intelligence? , 2013, ITiCSE '13.

[7]  Sian L. Beilock,et al.  Female teachers’ math anxiety affects girls’ math achievement , 2010, Proceedings of the National Academy of Sciences.

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

[9]  Hsiu-Fang Hsieh,et al.  Three Approaches to Qualitative Content Analysis , 2005, Qualitative health research.

[10]  C. Dweck,et al.  Implicit Theories and Their Role in Judgments and Reactions: A Word From Two Perspectives , 1995 .

[11]  Colleen M. Lewis,et al.  Deciding to major in computer science: a grounded theory of students' self-assessment of ability , 2011, ICER.

[12]  Dennis M. McInerney,et al.  How you think about your intelligence determines how you feel in school: The role of theories of intelligence on academic emotions , 2012 .

[13]  B. Weiner The Development of an Attribution-Based Theory of Motivation: A History of Ideas , 2010 .

[14]  Laura J. Damschroder,et al.  Qualitative Content Analysis , 2007 .

[15]  Richard E. Mayer,et al.  Learning to program and learning to think: what's the connection? , 1986, CACM.

[16]  Raymond S. Nickerson,et al.  Computer programming as a vehicle for teaching thinking skills , 1983 .

[17]  Catherine Good,et al.  “It's ok — Not everyone can be good at math”: Instructors with an entity theory comfort (and demotivate) students , 2012 .

[18]  Gail D. Heyman,et al.  GENDER AND ACHIEVEMENT-RELATED BELIEFS AMONG ENGINEERING STUDENTS , 2002 .

[19]  George Ghinea,et al.  On the Domain-Specificity of Mindsets: The Relationship Between Aptitude Beliefs and Programming Practice , 2014, IEEE Transactions on Education.

[20]  Florin D. Salajan,et al.  Student and faculty inter-generational digital divide: Fact or fiction? , 2010, Comput. Educ..

[21]  Elsje Scott,et al.  The Fear Factor: How It Affects Students Learning to Program in a Tertiary Environment , 2010 .

[22]  Nazir S. Hawi,et al.  Causal attributions of success and failure made by undergraduate students in an introductory-level computer programming course , 2010, Comput. Educ..

[23]  H. D. Day,et al.  Parental Attachment and gender-role identity , 1995 .

[24]  Edi Noersasongko,et al.  A Study of Tracing and Writing Performance of Novice Students in Introductory Programming , 2011, ICSECS.

[25]  Susan Wiedenbeck,et al.  Self-efficacy and mental models in learning to program , 2004, ITiCSE '04.

[26]  George Ghinea,et al.  Educating Programmers: A Reflection on Barriers to Deliberate Practice , 2013, ArXiv.

[27]  Elizabeth A. Gunderson,et al.  The Role of Parents and Teachers in the Development of Gender-Related Math Attitudes , 2012 .

[28]  Nickolas J. G. Falkner,et al.  The Australian digital technologies curriculum: challenge and opportunity , 2014, ACE.

[29]  C. Dweck Self-Theories: Their Role in Motivation, Personality, and Development. Essays in Social Psychology. , 1999 .

[30]  Päivi Kinnunen Challenges of teaching and studying programming at a university of technology - Viewpoints of students, teachers and the university , 2009 .

[31]  Seymour Papert,et al.  Teaching Children Thinking , 1972 .

[32]  H. Gardner,et al.  Frames of Mind: The Theory of Multiple Intelligences , 1983 .

[33]  Beth Simon,et al.  CS1 students speak: advice for students by students , 2009, SIGCSE '09.

[34]  Shuchi Grover,et al.  Computational Thinking in K–12 , 2013 .

[35]  Sungok Serena Shim,et al.  Goal Structures: The Role of Teachers’ Achievement Goals and Theories of Intelligence , 2013 .

[36]  GhineaGheorghita,et al.  On the Domain-Specificity of Mindsets , 2014 .

[37]  Walter Gander,et al.  Informatics Education: Europe cannot afford to miss the boat , 2013 .

[38]  George H. L. Fletcher,et al.  Thinking about computational thinking , 2009, SIGCSE '09.

[39]  Lauri Malmi,et al.  Why students drop out CS1 course? , 2006, ICER '06.

[40]  D SalajanFlorin,et al.  Student and faculty inter-generational digital divide , 2010 .