Fostering Critical Thinking Through Coding

How coding helps students develop essential soft skills

By Alyssa DeVito


When some teachers hear the word coding, a flash of fear strikes their hearts. On first appearance, coding seems like a foreign language in which few of us are fluent. This was exactly my thought when the idea of coding in the classroom first gained traction in the educational technology community. I was not a computer-science teacher or aficionado; I was an ELA teacher who just happened to be a tech geek. How could I, without any starting knowledge of coding myself, help foster this lifelong skill in my students?

What is coding?

Educators need to have some understanding of what coding is all about to help eliminate the apprehension of integration. Code is a precise set of instructions a computer can understand to function. Modern code consists of a combination of words and numbers, and when these are placed in a specific order, programs are able to run. A good analogy for both teachers and students to frame coding is to think of code as a recipe! The instructions need to be precise in order for the recipe to have delicious results. Coding works the same way: when code is written in the proper order and combination, technology works as it should!

Further, there are many different coding languages, each with their own purposes and focus. This can make coding seem overwhelming, but classrooms can start small and develop coding literacy over time. Many introductory coding tools, such as Scratch or CS First from Google, use “blockly,” a coding language that uses building blocks, representing more advanced written code, to snap together to perform actions. This language gives students a foundation in understanding the basic manipulation of code.

As students (and teachers, too!) progress, there are many common languages: HTML, C++, Java, and Python, among others. Technology writer Ben Putano notes in a Stackify article that Java is the most in-demand language for the job force as of 2017, with Python continuing to climb in the rankings. (Learn more at A tool such as Code Academy helps students move beyond baseline skills to compose full, scripted lines of code. Coding is an ever-evolving field and skill set — there is always more to learn!

Why is coding an essential skill for today’s learners?

Coding — and computer science at large — offers students a variety of benefits that reach well across their academic studies. At the foundation of coding and computer science are computational and logical thinking. When coding, students break down complex ideas to identify problems and craft solutions. These key skills can be applied to any area of study — with or without technology! Teachers in many content areas seek to help students find patterns and break down larger problems to ultimately solve a query, making the foundations of coding a very applicable skill. While the “language” of coding and computer science may be very technical, the process of thinking is one that applies to all grades and content areas. Coding and computer science are about big ideas, logical thinking, and most definitely, the Four Cs (critical thinking, communication, collaboration, and creativity)!

Giving attention to coding and computer science in the classroom helps prepare students for the world they live in outside our classrooms. Computing is a major aspect of almost every professional field, from healthcare to entertainment. Computer-science fields are the most in-demand of the current job market — and growing. As our world becomes increasingly digitally connected and driven, computer science fields are expected to grow another 16 percent by 2026, according to the Bureau of Labor Statistics. Integrating coding and computer science into the classroom is seen as a way to help close digital and socioeconomic divides, giving diverse students exposure to careers that could greatly impact their future opportunities, educator Merle Huerta explains. (Read her Edutopia article to learn more.) When we look to foster career and college readiness in our students, we would be remiss not to expose students to computer science, STEM, and coding experiences.

Though not all of our students will enter into a computer science field in their future, students also gain a high level of resiliency when coding. Coding is hard! It takes trial and error, patience, and a growth mindset. Helping students to persevere in the face of difficulty can carry over to both academic tasks and personal challenges. As educators focus more on social-emotional learning, promoting a growth mindset, and developing soft skills, coding can be an integral part of the classroom equation.

How can I foster coding in my classroom if I’m not a master coder myself?

It is a myth that you need to be a skilled coder to foster these skills in the classroom. While some baseline knowledge can help teachers to feel confident in integrating coding, teachers have all the skills they need to support student growth in this field. Often our role is not to be master coders, but to teach our students to think like coders!

When we break down the fundamentals that coders need, the skills don’t seem so foreign at all: problem-solving skills, critical thinking, creativity, and resiliency. These skills are not only important for coding, but for learning in general. This is where outstanding educators shine! Yes, coding is its own language. Yet these soft skills are ones that all teachers strive to instill in our students, regardless of content.

When integrating coding into the classroom, allow students to collaborate and learn from each other. Don’t be afraid to let students take the lead! Many of the technical coding skills I have learned have come from my students. The integration of coding into the curriculum has helped me to focus on being “the guide on the side” for my students. My role is to ask questions that push student thinking, clarify communication with peers, seek out quality information, and provide encouragement when they feel frustrated.

My own fixed mindset about coding in the classroom changed when I realized that my role in supporting students’ growth was the same regardless of whether I was teaching a coding lesson or an ELA class. Additionally, the soft skills my students gained reached far beyond coding to help them develop into lifelong learners, unafraid to tackle a challenge.

How can I get started?

Starting this initiative may seem overwhelming, but there are some simple things teachers can do to implement coding in their school or classroom. First, don’t try it alone! Coding is the perfect area for collaborating with a colleague. Consider working alongside a technology teacher in your community if the “tech” piece is your biggest barrier. Or team with a grade-level partner to have another voice in the conversation. For me, trying something new in the classroom is always less overwhelming when I have a partner for collaboration and support.

Second, start with selecting a specific coding language and look to learn the lingo with your students. and are great beginner resources if coding is new to your classroom. Both of these tools offer vocabulary lists to help set a common ground of terminology for your classroom community. My favorite way to introduce coding vocabulary is starting with an unplugged activity, such as developing STEM Word Wall, and then modeling each term alongside a tech-based example. This can be done with tools, such as coding websites —,,, and for more advanced students — or using STEM devices that utilize coding, such as Ozobots. This helps to establish a baseline of knowledge and models the “I Do, We Do, You Do” release of responsibility.

Finally, begin to integrate coding into content-area projects or lessons. At first glance, I thought coding was an unusual pairing with content-area curriculums. When I took a deeper dive, I was flooded with ideas! In addition to coding being a foundational piece of STEM activities or lessons, students could code an animation to accompany their ELA narrative writing. In social studies or history class, students could research industries that computer science has revolutionized to understand how coding impacts society. Coding can be used to promote spatial awareness or manipulate graphic design in art. And how cool would it be for students to code their own ministry website or build a model of a sacred landmark?

Though coding may seem intimidating, teachers should be confident that they already have many skills needed to foster coding in the classroom just by being good teachers. By integrating coding into the classroom, students learn lifelong skills that benefit them far beyond the four walls of the classroom. Not to mention, it can be fun too!

Image credit:

Alissa DeVito is associate director for Educational Technology for the Archdiocese of Philadelphia Schools.

All content copyright © Today’s Catholic Teacher/ All rights reserved. May be reproduced for classroom/parish use with full attribution as long as the content is unaltered from its original form. To request permission to reprint online, email