Coding is for everyone - engage students in critical thinking and content.

I've heard it, and so have you: Coding is the key to future jobs and a necessity for all students. It's time to move coding skills out of technology courses and into all subject areas. So as you begin planning for the new school year, don't forget to incorporate coding into your classroom.

You don't need to be a coding expert (and neither do your students).

Let's face it, not many of us are going to be able to take the time to become skilled coders. It's a process that can take years, and since coding languages and conventions change constantly, maintaining your skills requires long-term effort. But that doesn't mean that we can't incorporate the principles of coding in our classrooms. In fact, it's the principles of coding that are so essential. Approaches like computational thinking and design relate to all of our course disciplines and can help students analyze and solve problems in any subject. And unlike coding languages or conventions, the principles aren't likely to change.

Learning to think like a coder means learning to approach problems in a logical, systematized way. When given a project or a task, people who write code have to envision the end product (game, app, editing program, etc.) and work backwards to construct the steps to make it happen. Isn't that how we want our students to approach a project and design experiments in the humanities or sciences? 

Coding fosters collaborative learning.

Every coder knows that writing code also means making mistakes, finding them, and fixing them. When something doesn't work (and it’s inevitable that something doesn't work), it means going back to the code and figuring out where things went wrong. More often than not, this is a collaborative process, with people working together to identify and solve problems. Cooperation and resilience in the face of problems are exactly what we hope for in all our classes.

Coding promotes critical thinking and problem solving.

Coding activities and tasks executed in traditional classrooms provide lots of benefits to students, but it's not always practical to implement large-scale coding projects in core courses. However, by implementing a few sessions on coding, students build a framework in extended thinking and problem solving. These coding exercises aren't about being proficient in writing code. Instead, the goal is to engage students in critical thinking so that they're able to connect with the content in meaningful ways.

With the tools available to teachers, the only obstacle that really remains is time to facilitate coding in our classes -- that's why, as we make our preparations to head back to school, we need to plan for coding!


Coding provides a universal language.

When we bring coding into our core classrooms, we build and reinforce the skills we want students to internalize. Coding also provides a common language and reference point to talk about the kind of thinking in which we want students to engage. Coding vocabulary can help simplify assignment expectations in all courses, simply because the coding terms are universal. This helps students avoid confusion and plan for the finished product.

Start coding with easy-to-use edtech tools.

Thankfully, there are easily accessible tools for all of us who haven't had the time to finish the thousand or so hours of freecodecamp, or found the money to go to a month-long boot camp. Scratch, Hopscotch (for tablets, and what I use in the classroom), and Blockly are graphical coding languages that work with interlocking blocks like puzzle pieces. They incorporate all the essential elements of a text-based coding language like Javascript without the worries of syntax errors.

With minimal effort, teachers can find fully developed lessons that challenge students with projects that ask them to break down tasks into component parts and solve problems through experimentation. provides tutorials that walk teachers through projects beforehand and include guiding questions that help engage students in problem solving. 

James Denby

I have been a teacher for over twenty years and joined the Common Sense community to connect with other educators and hone my teaching practice . My goal is to engage, connect, and support teachers in order to enhance their practice in the classroom. These days I do a lot of teacher training around coding and design thinking - helping teachers to find ways to bring those skill sets into their classrooms and existing curricula. This fall I will be joining the Faculty of Education at NHL Stenden - a university in the Netherlands.

As a teacher since 1991, I have now worked with every grade from K-12. In the time that I have been an educator, I have seen an incredible variety of powerful digital tools emerge that support instruction and learning. Making sense of those tools is what the Common Sense community is all about (and what Graphite Mentors like me are here to help with).

My career has taken me to 4 countries but only five schools. My most recent classroom position (and love) is middle school Humanities (integrated language arts and social studies). Throughout my career, I have worked primarily with English Language Learners (ELL) and students with mild to moderate learning needs. As a sometime language teacher and a permanent learner of languages, I understand the incredible role that technology can play in language acquisition.

Outside the classroom, I am working on several big education-related projects:

1. Creating learning materials for teachers that combine design-based learning and technology .
2. Writing and publishing teacher resource books in Language Arts and Social Studies for Teacher's Discovery.