The above text is a screenshot of the National Curriculum in England: Computing programs of study. Since 2013 it is mandatory for every student in the UK to learn computing at every grade level.
Simon Peyton Jones was inspired by his own children and started a grassroots organization called CAS = Computing At Schools. They believe that “Every child should understand the fundamental principles and concepts of computer science starting in kindergarten“. Australia, Holland, Finnland and most of the European countries followed their example. It seems to me evident that North American would follow suit, but to my and probably everyone’s surprise, in Canada, computer science is still a ‘hit and myth’ for after school clubs and camps and only offered as an elective in high school.
What are the benefits of teaching coding concepts from a young age?
Coding is the process of writing a script in a programming language that a computer can understand.
21 Century Skill Set
There is no doubt in my mind, that digital literacy is a required skill that employers will be looking for in the near future. If we do not teach our students the skill sets that they will need in the future then how will they be able to find work? When we teach young children programming and computational thinking starting at an early age, it will become part of their everyday thinking processes. Computing will be the new literacy just like learning the ABC with C being coding. It is not enough for the workforce of tomorrow to simply know how to use the technology but they are also expected to know the science behind it.
Problem Solving Skills
Computational thinking is a problem-solving process that uses decomposition, pattern recognition, pattern generalization and abstraction, and algorithm design. It is the ability to break down a problem and express the solution in a form that a computer can understand and evaluate. Young students can use pattern recognition to present the problems in different ways while logically breaking them down into parts and creating the steps needed to solve the problem. Students will be able to apply computational thinking in all other aspects of their lives.
When you watch the students interact with computational tasks as seen in the videos, you just see the passion in their eyes. Coding appeals to their creative minds, their aptitude for challenges to think outside the box. I believe that when students write code or program a robot to do a task and they can see and experience the impact of their doing right away in real-time, students get engaged and want to do more.
With language like Scratch Jr. that was specifically developed for the younger students who are still learning to read, coding becomes storytelling. Students learn through collaborations with others, they learn that coding is sequential, has a beginning, a middle and an end just like any other story they know. They can share their projects, demonstrate it, let other friends try it out, thus they learn many important skills.
In conclusion, I think that it is imperative that students learn digital literacy from a very early age.
Computational thinking and the use of technology is such an integrated part of our lives, that students just need those skills in order to make sense of their world around them. Which brings us to the question if we need to teach students coding in order to teach them the underlying concept? I would say not necessarily. Computational thinking can be taught in all subject areas. But what made me so passionate about coding was that I could create something that others could use and that provided me with feedback right away. For instance, writing a program to add numbers, I could see the results of my work. The instant feedback was there. The program would either crash or it displayed the correct answer. In either way, I had instant feedback, which can be very encouraging to students. Programming stories or little Robots is just a fun way to learn.
However, if we add something to the curriculum we probably have to take something else away? If our goal is to raise well-rounded individuals than maybe we should offer less of “pencil crayons” works and more computational thinking.