In the previous century, computer science and computer coding was left to a few highly trained individuals. There was a level of expertise and skill needed to “speak the language” of computer science—for most people, it was a foreign language.
As we embark deeper into the technological age, we are finding that the language of computer coding is not a “foreign language” anymore. K-12 schools have worked to introduce coding earlier and earlier into the curriculum. Education organizations like www.code.org provide amazing resources for teachers to be able to cover this subject matter.
But even though there is an increasing need for computer science skills and curriculum materials are free and available, most elementary teachers are not teaching coding the same way that they're teaching reading and math. I wouldn't contend that computer coding is on the same level as these two highly important curricular areas, but I would argue that it is close.
The Language of Coding
There's value in computer coding that goes beyond the ability to write code. I believe it is similar to an understanding of any other foreign language. It’s possible to become fluent in French or Mandarin if those aren’t your primary language, but it is also possible to understand a few basics. This basic understanding helps to communicate through simple methods with others, and also helps to create a deeper understanding of language in general. Students are typically better at using the English language when they learn about other languages.
So what benefits are there to learning a coding language? Why would teachers, especially teachers of younger students, feel the need to incorporate it more into the classroom—even to the point at which it is equal to other content areas like reading and math?
My assertion would be that coding helps numerous cognitive areas that help students to think and process. These aren’t the same kind of content area skills that we normally teach in schools, but are skills of the future, such as:
- Understanding logic: Students gaining a working ability to understand and apply logical concepts benefits them in other areas of their educational progress, particularly in math and science. Logical statements help students to think in a clearer and more linear fashion. Teachers can use this same logic and apply it to many other situations when regular predictable rules apply.
- Applying algorithms: Once students learn about algorithms, they begin to see them everywhere in their lives. (Probably because they are all around us all the time!) Teachers use algorithms to help students understand math all the time, but they may not use the language of coding to teach it. Coding will help students to see the interconnectedness of writing script and solving an equation.
- Wondering about “the magic” behind coding: Our ancestors from a few generations back would not be able to comprehend what computers do for us today. It really feels like “magic” of some sort to see what our devices can do for us. It isn’t magic, of course, but coding can tap into that sense of awe and curiosity that stems from our experience with technology. This will transfer over to other STEM areas, especially science, where the same kind of “magic” takes place in the world around us. It is able to be understood once we learn about it, but prior to that, it seems mysterious.
- Improved memory skills: Coding does help in the cognitive area of memory, too. While students write code, especially as they start with simple block-based coding concepts, they can focus on one or two skills at a time. When the complexity increases, the ability to manage multiple facts and tasks in our minds also increases. Coding is like multi-step math problems that stimulate the student to consider multiple pieces of information at the same time.
- Complex problem-solving skills: And with these multiple pieces of information, students must decide what to do with them and how they interact with one another. This is the real cognitive load that students really need (and often desire). Changing pieces or parts of a code have an impact on the entire program. Students must consider multiple items at once and make sense of it all to make it all work.
- Staying focused: Coding requires students to maintain focus over time, especially as complexity increases. This can be hard for students, but it is an essential area for growth. Coding requires a great attention to detail, so when debugging, students must really focus on all the specifics to find the error.
These are not “standards-based” reasons to incorporate more coding into the classroom, but I hope that all teachers can see how improving the cognitive skills of our students will translate into improving their thinking and performance in other academic areas.
Here are some of our other great blogs on coding in the classroom:
- Making Coding Elementary
- Why Coding? Part 1: The Future of Computer Science Education
- Why Coding? Part 2: Exploring Coding Curricula
- Why Coding? Part 3: DIY Coding in the Elementary Classroom
- What's New in Teaching Coding
How have you incorporated coding and computer science into your curriculum? Let us know in the comments below! And for more insightful teaching tips and trends, be sure to subscribe to the Educator blog.