Skip To Main Content
Why Everyone Should Learn to Code? These Benefits of Coding Would Surprised You

What is the purpose of Technology Education? Why do we code?

I don’t think it’s a stretch to say most people with an interest in education acknowledge that coding is important. If we are trying to create successful professionals to thrive in our economy, the answer for why we code is simple: 67% of STEM jobs need Computer Science, but only 11% of STEM related bachelors degrees are in Computer Science. While Computer Science is in high demand, there are very few candidates available. One of the major technology firms Microsoft has stated there was a shortage of 5,000 coders. We can only imagine the numbers in similar sized tech firms being very close to that. That’s an abundance of economic opportunities that are being left unfulfilled. Naturally, our desire for our next generation to succeed is to support coding in education to make sure these jobs are filled.

Our philosophy on Technology Education extends beyond making sure our students are professionally successful. We want to make sure they are responsible and capable citizens that can problem solve in all areas of life. That’s also where coding comes into play by teaching students the importance of and how to engage with computational thinking. Computational thinking is a framework of breaking down problems to find a solution. While it’s used in Computer Science, the framework of thought can be applied to problem solving in all areas of life.

Computational thinking is broken down into four important areas: 1) Decomposition 2) Pattern Recognition 3) Abstraction 4) Algorithmic thinking. 

1) Decomposition

Decomposition is breaking down a process into easily understandable steps. For example, you may want to make a toast this morning. How would you do that? First, you would put a slice of bread on the cutting board. Step 2 is to open a jam jar. Step 3 is to use a butter knife to extract the jam from the jam jar. Finally, you spread the jam on your slice of bread. Voila! We just practiced decomposition by breaking down our step by step process on how to make a toast. When working on code, decomposition is applied when coders explore codes line by line to figure out directions are being given. If they spot a logical inconsistency, they know they have to edit that code. This is already being learned by students in language arts when they practice procedural writing.

2) Pattern Recognition

Pattern recognition is also used in computational thinking to help identify patterns that are prevalent in their code. Coders use pattern recognition to predict what could happen next. Coding patterns allow the coders to quickly identify errors within  the lines of code. As patterns are recognized, any errors can be  resolved immediately and the codes replicated quickly if necessary. Although computational thinking is thought in computer science, students can benefit in other areas of studies, such as the social sciences as well! It is an important skill in medical research and for historians trying to identify patterns of behaviours in civilizations and revolutions, and so on. 

3) Abstraction

Abstraction is the skill with which a coder can pick out important pieces of information, and separate information that is not important for the current problem. Abstraction can identify problem areas in the code, with this skill a coder can narrow in on the line of code they need, and ignore the multiple lines that are not dealing with their problem. Abstraction is being practiced in almost every single core subject in education. In language arts students read complex novels and are required to identify the main ideas, or pick out key moments that develop the characters. To do this, students filter and separate all the conversations and scenes of the novel that may not be relevant to their assignment. Abstraction in everyday life can help students better organize themselves, and be more competent problem solvers that can become solution oriented rather than problem focused. 

4) Algorithmic Thinking

The final important core skill in computational thinking is algorithmic thinking. Algorithmic thinking allows students to formulate a step by step solution to solve their problem. Step by step means that the student understands the process, for example a student may know 45 - 5 = 40. Algorithmic thinking is the process that is happening behind the equation, the student identifies the minus sign and knows that they need to subtract. They take the first number (45) and know they need to subtract the second number (5). The next step is to do the equation, taking away 5 from 45 equals 40. Breaking down that algorithm means the student is able to plug in that formula and subtract any number they may have to deal with. This is a core skill for mathematics as you can imagine, as students learn the algorithm to solve long division, multiplication. Knowing the answer is not very useful, but knowing the process with which to find the answer can help students think faster and solve problems more effectively through the use of algorithmic thinking.

Coding is an important life skill, no matter what students decide to do in their lives. The core skills of computational thinking can improve their academic performance, their capabilities to problem solve in their personal life, and handily prepare them for a job that is current in high demand. Personally speaking, I find coding fun. Problem solving while seeing the live results of code provides me with a level of satisfaction that worksheets never could. I’m sure many students feel the same. I could go on and on about how this builds resilience, but perhaps that is a blog post for another.
 

References:

Promote Computer Science | Code.org

The One About Abstraction in Computational Thinking (learning.com)

4 Early Learning Strategies for Developing Computational Thinking Skills (gettingsmart.com)


 

  • Coding
  • Engineering Science

Latest Articles

Feature Article

No post to display.

Search

Categories