Hatch Blog

Teacher in Elementary Classroom

Coding In K-12 Education: Why Every School Should Teach It

Learning is about exploring, experimenting and creating. The computer is no longer a device that only delivers information but has become a tool for creation, experimentation and exploration.

Technology continues to be integrated into our everyday lives, and now more than ever coding education is a necessity in our schools. We need to give children the opportunities to be innovative and create, and not just consume, technology.

Education has shifted greatly over the past decade and more countries worldwide are teaching coding in schools as early as first grade, and teaching coding concepts starting in Kindergarten.

Coding is an employable skill that teaches students to solve problems, take risks, think critically and logically while being empowered to fail in a safe environment. Although not all students will become computer programmers, everyone will need to engage with computer programmers in some way. 

Boy coding at a laptop with girl coding in background

Coding Teaches Computational Thinking

Computational thinking as defined by Jeannette M. Wing is the mental activity in formulating a problem to admit a computational solution. The solution can be carried out by a human or machine.

Computational thinking has five parts to it and is used in more than just programming:

Abstraction: Is a thought process that creates a framework for a concept that can then be modified. Like when you have a base for a recipe, but can make modifications to it to accommodate an allergy.

Algorithms: Is a set of steps or rules that are followed to meet an objective. Similar to a child’s bedtime routine, the ‘algorithm’ to get them in bed can be altered depending how much time you want to devote to this objective. The goal in computer programming is to find the best and usually shortest sequence, as then fewer mistakes are likely to occur.

Decomposition: Is a thought process that gets us to break down big problems into smaller, more manageable chunks. For example, if you’re planning your child’s birthday party, this big event will be more manageable if it’s broken down into smaller tasks (plan a theme, decide on a guest list, pick a venue, order the food and cake, etc.). Each of these parts can also be further broken down to ensure that no crucial areas have been missed and the event runs smoothly.

Design Thinking: Evaluation and meta awareness are key skills of design thinking. To create an objective - like creating an app - you’ve got to decide who your core users are and evaluate what are their needs by asking lots of questions. You then create the app based on the criteria of what your users need and want, by continually asking questions if this app will meet their needs and be easy to use.

Pattern Matching: In programming, pattern matching is observing similarities in items to best group them and it has two parts:

  1. Identify items that are identical or have similar characteristics
  2. Notice and understand the conditions in which these items exist

When you’re shopping online, you can filter items in your search to easily find what you’re looking for. It’s these ‘patterns’ that are created by programmers that help to give you a better shopping experience.

All of these skills learned in coding are life long skills that students can apply to all areas of their life and use in any career they choose to pursue.

 

Why Teach Coding in the K-12 Curriculum?

Today, countries across the world know the value of incorporating coding education into their Kindergarten to Grade 12 curriculum. They’re not only preparing their students with the skills to successfully participate in the jobs of the future but are also ensuring that their country has the talent to compete in the digital world.

Japan is a great example of adapting coding into their curriculum to help catch up with the digital world. They estimated that if they continued to advance the IT market at a moderate pace that they would have a shortage of 590,000 tech workers by 2030. So they decided to do something about this problem and in April 2020 made learning the basics of coding a mandatory Grade 5 course. And in 2022, they plan to make coding a compulsory information class at the high school level.

A recent Brigham Young University study on International Trends in Computing Education with Primary-aged Children, made some surprising findings. Their data concluded that some students who learned coding experienced role reversals and positive behavioural changes. Students who usually struggled with learning, thrived in learning to code. Also, teachers were asking for their help when they got stuck and new pride in their work resulted along with them persisting through failure when they would previously give up because of it.

The skills learned through coding - creativity, critical thinking, problem-solving - give children the ability to turn their ideas into a real-world experience that adds to their backpack of life long skills for their future.

Child holding up a rocket cut-out

Coding Education: Prepares Students for 21st Century Careers

At home here in Canada, Ontario took the lead in educational improvement and in September introduced coding into their new math curriculum starting in Grade 1. Although this new demand on educators' already full plate may seem daunting, there are many resources and online coding platforms that can make it accessible to teach it.

If teachers can embrace the idea that teachers of technology can be the connectors, collaborators and consultants with students in their learning, then it might not be so intimidating to jump in and try it. If the data shows that there’s a high engagement and enthusiasm for this new learning medium, then what is there to lose?

From the wise words of the late Stephen Hawking: “Whether you want to uncover the secrets of the universe, or you just want to pursue a career in the 21st century, basic computer programming is an essential skill to learn.” 

Find out how Hatch Coding helps educators teach students to learn to read and write full-language coding.

Learn More

 

 

Related Posts