Thursday, 19 February 2015

Everyone can learn to code! Or not?

Everyone can and should learn to code! Last year, the United Kingdom introduced coding to the curriculum of primary and secondary schools. The European Union has started investigations about whether or not to implement coding in all schools in Europe. Obama, president of the United States has participated in Hour of Code and has produced his first line of code. Software companies – keen to secure well-trained future employees - are encouraging children and adolescents to try their hands on coding (e.g., Google “Made with code”). In sum, there is a global trend of coding being taught and encouraged.

But how to best teach coding in various age groups? How to assess levels of coding ability? Is everyone able to learn to code to satisfactory levels? What are satisfactory levels? These are all relevant questions that come with attempting to introduce a new skill to the masses.

A parallel can be made to learning to read. Research interest in reading and learning to read arose more or less simultaneously with the introduction of compulsory education. Which was exactly when children were taught how to read at a large scale. Will we see a similar development for learning to code now that coding is gradually being implemented in the curriculum?

The answer seems to be yes. In 2006 Jeanette Wing introduced the term ‘Computational Thinking’. Researchers have picked up on the term and have started to brainstorm about the exact definition and have started to develop new tools to train Computational Thinking. However, as Grover and Pea (2013) pointed out: there are many gaps in this new field of research. For example, which cognitive processes are involved in learning to code? The literature on this topic mostly seems to date back to the 1980s and is not based on current coding education environments and approaches. Gaps in our knowledge of how to best teach coding are reflected by a review by Lye and Koh (2014) on current trends of empirical research in the teaching and learning of computational thinking in primary and secondary education. Although some preliminary recommendations about how to teach coding were made, the bottom line was that controlled experimental training studies are needed to draw conclusions.

As it is still early days with the regard to the introduction of coding to the curriculum, everyone is excited and optimistic. Everyone can and should learn to code. However, as with every skill we will inevitably find that it comes easy to some and will be hard to learn for others. The first publication on dyslexia – describing a 14-year old with severe difficulties learning to read – appeared in 1896. Here we are, more than a century later, adding coding to the curriculum. Will we soon describe and try to explain the underlying cognition of severe cases of difficulties with learning to code? Will there be dyscodia ten years from now? Only time will tell.

On this blog I will report on my progress on this new and exciting line of research: the Scientific Study of Learning to code.  I believe this line of research is best summarised by a triangle of three existing disciplines: Cognitive Science, Educational Science and Computer Science. My expertise lies on the Side between Cognitive Science and Educational Science. Probably more towards the Cognitive Science node - hence the name of the blog: Cognition of Coding. In order to learn more about the others Sides, and in particular the Computer Science node, I aim to collaborate with other researchers. However, I also aim to increase my own practical skills and theoretical knowledge of Computer Science.

  • Grover, S. & Pea, R (2013). Computational Thinking in K-12: A review of the state of the field.
  • Sze, Y.L., Koh, J.H.L (2014). Review on teaching and learning of computational thinking through programming: What is next for K-12? Computers in Human Behavior, 41, 51-61.
  • Wing, J. (2006). Computational thinking. Communications of the ACM, 49 (3), 33-36.