specific training in coding. My own coding education was limited to a little bit of HTML in grade 9 information technology and first year computer science using C++ which proved to be more of an exercise in frustration then actually learning to code. In speaking with professional software developers and software engineers in my social circle I have learned that it is not about the specific language that students are taught as different languages have different applications and uses based on the industry and intention behind the project. That being said I have been recommended to use Python as it is closest to English. In speaking with my boyfriend who is a lead software developer he has recommended that the focus not be on a specific language due to the reasons above but on the thinking skills and developing conceptual understanding. Our theory being that if students have a good knowledge of underlying concepts they will be able to apply their knowledge to learning any language that a situation calls for. The aspects of computational thinking clearly fit with the goals of our BC math curriculum. When looking at the BBC’s definition of computational thinking it has clear ties to math and science, they list 4 cornerstones of computational thinking: decomposition, pattern recognition, abstraction and algorithms (BBC, 2015). The article continues to state that each of the 4 cornerstones must work together to enable students to solve problems. starting we decomposition we are breaking the problem into easier to manage pieces and determining the key information.. pattern recognition is something that comes up in math from the time students are in kindergarten and we as humans tend to do naturally, we look for similarities to help us connect to prior knowledge and help us solve problems. abstraction has students focusing on what is most important and determine what the most important thing we need to solve is. While algorithms ask students to develop a step-by-step way to solve a problem, something we do a great job teaching in math classes. In this way teaching computational thinking coding should be part of our curriculum. In the long run a specific language does not matter it is the thinking skills behind coding that matter most.
Reasons for Coding in the Curriculum
I did find the Tynker article to read a bit like a sales pitch for their program. They state that program is a basic literacy (Tynker, n.d.)in the digital age basing the claim off students being digital natives having grown up with technology in their hands. They make the argument that coding allows students to understand how the devices, websites and aps they are using work. They give the example that coding and digital communication can change the world, with the idea that the next new social media platform could drastically change the world. The point that stood out most to me from the Tynker article is that coding doesn’t have to be hard to learn. In this section they made the connection to learning other skills and that students need to have the chance to play with it and see what works for them and gets the desired results. Tools like block coding allow students to have the opportunity to code in an approachable way and to see success with their coding.
Reasons Against Coding in the Curriculum
“Yet there is no convincing evidence that learning computer programming enables children to develop more general problem-solving skills, let alone that it will ‘teach you how to think’, as its advocates claim.” (Buckingham, 2015) With this argument the author is saying that a specific coding language or coding a specific program does not teach the logical thinking skills, that these things must be explicitly and deliberately taught, the idea that thinking skills must be taught has also come up from groups like the Critical Thinking Consortium and Project Zero both of whom advocate teaching strategies and tools to help students think critically. If we were to approach coding and computer science education in this way students would have a much deeper understanding and be able to apply their skills in a wider range of settings. This article looking at a British context also brings up the point of coding being considered by many an employable skill then refutes that claim by pointing out that many coding and entry level computer science jobs are outscored to other countries where wages are lower. The article also points out that in the US there are now more STEM graduates then jobs. I myself and one of those people, I did my undergraduate degree in Geographic Information Systems, I have the training but chose education instead because it made me happier. In my own experience and speaking with software developers and engineers I have come to realize that they do not pay attention to what specific language you were taught when hiring, they want to know that you can think critically and solve a coding problem. In my own experience of computer science courses specifically programming we were taught to replicate code focused on syntax.
BBC. (2015). Introduction to computational thinking. Retrieved from BBC: https://www.bbc.co.uk/bitesize/guides/zp92mp3/revision/1
Buckingham, D. (2015, July 13). Why children should not be taught to code. Retrieved from David Buckingham: https://davidbuckingham.net/2015/07/13/why-children-should-not-be-taught-to-code/
Tynker. (n.d.). Four Reasons Why Kids Should Learn to Code. Retrieved from Tynker: https://www.tynker.com/blog/articles/ideas-and-tips/coding-at-school/four-reasons-why-kids-should-learn-programming/#1_Programming_is_a_basic_literacy_in_the_digital_age