The simple answer is YES! Educators and parents are posed to engage in the ‘technology’ conversation regularly. These conversations often revert to behavioral issues; lack of social interaction and for parents a serious concern regarding their child’s ‘addictive’ nature when it comes to on -line behavior.
All of which are legitimate concerns for both parents and educators. The real point that doesn’t seem to be an area for discussion is the fact that our young generation, a digital generation, has little to no understanding of how their devices function. They have never known a world that is not interconnected to a device, the internet or a video screen. Children (and adults alike) simply expect the screen to be interactive and productive. Given the argument that we have a digital generation and knowing that the technological race is ever moving and developing, we should be most concerned about the ever-widening gap in our understanding of how these devices actually function.
Our kids are users, some more than others, but users all the same and this gap is growing exponentially as is our dependency. So, back to the question – why teach code? Like English or Thai, code is a language. Computer Science is the subject and code is this subject’s language – how we communicate with it. All teaching philosophies identify core subjects. These subjects are the backbone of any curriculum as they are often interdependent and the core subjects are identified by their promotion of key skills: problem solving, creativity and communication.
There is a plethora of arguments for and against the core subjects being limited to Language Arts, Maths and Science as many of the non core subjects, in their own right, also promote key skills. Computer Science and the language of code is being pushed by many to take its position as a necessary member of the core subjects in any school’s curriculum. The discussion regarding the importance of learning ‘code’ is not new; not by any stretch. Initially, many thought this push to ‘code’ was a flash in the pan – a tech coolness trend.
However, we are now seeing the reality in our millennial generation and coming to understand how truly important this skill is. Unfortunately, our classrooms are falling behind. It’s all about jobs! There is a significant gap in the job market for individuals who can code. For parents, concerned about their child’s future this is a great argument to increase the understanding of code as it is a skill that actually affects a young person’s employment opportunities. For teachers, we always come back to ‘skills’. How does code hold up against other subjects that offer concrete opportunities for skill development? Here are some reasons to consider:
1. Programming promotes problemsolving: Problem-solving and better yet, learning how to approach problems is central to learning. Taking a large problem and systematically breaking it down into a series of smaller problems is not only a key skill but a life skill. We all hope to develop critical thinking skills in our children; taking a logical, systematic approach to solving a problem is the cornerstone of well developed critical thinking skills.
2. Coding promotes persistence: Children have the opportunity to experience ‘struggle’ or ‘failure’ that is not defeatist but actually offers an opportunity to learn from failure. They learn quickly that ‘debugging’ the code is half the fun. Here’s an ‘in situ’ opportunity to develop your child’s ability to ‘bounce back’.
3. Coding promotes creativity: Learning code helps to create the balance between merely ‘consuming’ digital media and ‘creating’ digital media. Language offers us a forum to communicate and, as code is a language, it offers a new and exciting platform for communication. Opportunities to be creative and expressive as well as any opportunities that encourage positive thinking and self awareness are always welcome in the classroom.
4. Programming offers concrete opportunities to apply knowledge and skills: The application of knowledge and skill is how we can recognize a child’s understanding. Here is a concrete space to promote the application of their knowledge and understanding. Coding uses data and analyzing that data demands an organized approach. Math skills are exactly that and Maths’ relationship to coding is concrete and tangible. Children have the opportunity to use what they are learning to develop and create. What more could we ask for?
5. Coding is collaborative: While we are concerned with critical thinking, the ability to communicate and seeing our children persist in spite of ‘problems’, we cannot ignore the need to be able to work collaboratively. Opportunities to promote and develop collaboration are endless in a coding classroom. Students work together, share ideas and feel safe to take risks as they are in a group that is developing and learning together. 6. Jobs, Jobs, Jobs: Look anywhere on line and you will find an article or commentary about the current gap in the job market for skilled programmers. Every generation is faced with access and entry into the ‘real world’.
Currently, being able to code is a skill that can, perhaps, move a person’s CV from the pile of ‘maybe’ to the very important ‘short list’ for interviews. Margaret Mead is famously quoted for saying, ‘Children must be taught how to think, not what to think.’ School curriculums are designed to grow, develop and adapt. Code is a language and Computer Science is its platform. It’s time for this subject to take its place as a core part of a school’s curriculum.