The Importance of Understanding Technology, Coding & Computational Thinking
On the heels of code.org’s annual Hour of Code event, I reflected on why it is important for teachers to expose students to technology, coding, and computer science. The world around us increasingly relies on technology. Students have grown up in this world and need a variety of skills to participate in the Future of Work. I am frequently reminded that just because students are immersed in technology does not imply that they understand technology. Most of us know adults who quickly write off technology when something goes wrong. But I am still surprised by the number of students who, in moments of frustration, do the same. To many students, technology is still a black box that requires a tech support person to fix. This needs to change. For students to be successful in the future, they need to become competent and confident with technology — and troubleshooting — in various forms.
My perspective on the importance of being confident with using technology is heavily influenced by my background. I am a female who has been immersed in technology for my entire professional career: in engineering co-ops in college, working in Information Technology (IT) at a Fortune-500 company, as a Technology Coordinator at a small school, and as a math teacher. In some of these roles, I was one of only a few females in the room. Somehow, I always became the liaison between the technical team and the “end users” of the technology. By essentially acting as a translator, I was able to make people on both sides of the conversation understand each other’s needs so that everyone could get their work done more effectively.
My reflection exposed some themes in how I frame and discuss the importance of understanding technology, coding, and computational thinking with my students:
- It is important to be able to find the applications that are available for a task AND to be able to choose the best application for the task.
The number of apps and software packages that are available today can be daunting. Students need to learn how to analyze the options to make a choice.
At the start of the year, I share that we will use many different applications for the same tasks. Some math apps are intuitive to use (such as GeoGebra, Desmos, FluidMath) and some require learning specific syntax (such as Mathematica, Maple, MATLAB). I stress that as we use various tools, we will discover the pros and cons of each. This will help us gain experience selecting the best technology for future tasks. In the first semester, I specify the tool to use for each task. By the second semester, I often encourage my students to choose the technology that they think is best for each task.
- The phrase “learning how to code” is NOT equivalent to the phrase “pursue a STEM career.”
I firmly believe that every student needs to understand the basics of how coding works so that they can be competent and confident with technology, no matter what their future career path.
Here’s a scenario that I used this year with my students: Consider that you have a career in fashion design and want to create an app to connect your brand to your customers. You define what you want the app to do and you hire someone to create the app. What is the best way to test the finished app? Should you test only your design requirements? Does it matter what the app does when given an input that is unexpected? If you understand how coding works and have experience troubleshooting code, then you will have better insight into how to design and test your app. During this discussion, some of my students were surprised that it was important to try to break the app. We discussed why coding and testing go hand-in-hand: find the problems and fix them before your customers do.
- The world needs people who can be effective liaisons between technical roles and the end-users of technology.
By giving students the chance to write code, my goal is not necessarily to create “coders.” My goal is to give students an understanding of coding so they can become more confident in their ability to figure out the logic behind how technology works. Without someone who can confidently and effectively bridge the gap between technical workers and end-users, important information or requirements can get lost in translation, causing frustration, missed deadlines, and higher project costs.
I also stress that such liaisons must have strong writing skills and communication skills. Students do not always connect the disciplines in this way — students who are strong writers may not consider building technical skills. But if you combine writing and communication skills with an understanding of technology, your value as an employee increases significantly. More importantly, your ability to gain the trust of the people you work with increases significantly, too.
- You don’t need to be an expert. You just need confidence in your ability to figure things out.
Early in my career, there were times when I convinced myself that I was the only person in the room who was perplexed about how a piece of equipment or code worked. It took time and mentoring to help me realize that my questions and perspective were equally as important as others’. I also worked very hard, both on my own and with people I trusted, to learn about the equipment or code. As a side benefit, when learning something new or solving a problem, I better understood how to teach the topic to my coworkers.
Students need to hear that expertise takes time to develop and that questions are important to ask. I try to model this by admitting when I am confused, asking them for ideas, sharing how much time it takes me to work through technical issues, discussing available resources, and acknowledging what I cannot figure out. I also share stories from my experiences learning and working in engineering and technology.
Thankfully, there is a great deal of momentum in education to help students become more confident and competent with coding, technology, and computer science. Movements such as the Hour of Code encourage teachers to expose students to coding and computational thinking and can inspire students to become interested in the field of computer science. Organizations such as Computer Science Teachers Association (CSTA) and the International Society for Technology in Education (ISTE) work to support, create standards for, and promote the teaching and use of technology and computer science in education. Since mastery of coding takes time and effort, mindset resources are helpful as well. There are countless movements and organizations that are a treasure trove of resources for teachers, administrators, parents, and students who are embarking on this critical work.
For more, see:
Stay in-the-know with innovations in learning by signing up for the weekly Smart Update.
TechyKids
The blog shared is really good to read which so neatly explains the importance the teaching coding for kids. When kids learn to code they are developing many new skills like decision making capabilities & algorithmic thinking which have a great impact on their overall growth. I think educating kids about basic concepts of coding has become relatively easy. We now have all the resources available like coding apps & games which makes understanding of coding for kids a lot more fun & interactive. TechyKids Canada teach computer programming for kids and prepare them for the future. Kids learn the core coding languages like Python, HTML, Java and JavaScript. They start from the basics and move forward at their own pace with full teacher support. Thanks for sharing such a interesting blog with us.