Why teach coding? Who should teach it? And how can teachers get started? Get tips on how to bring coding into your classroom.

two elementary students learning to code

The impact of computer coding on modern life is so universal that many of us don't think twice about it! But behind every social media post, streaming service selection, and smartphone app is, of course, code: a system of functions, commands, and rules written in a particular language to make our digital technologies function smoothly. Even with the rise of artificial intelligence and its increasing power to help write and edit computer code, human coders are still behind the scenes. 
For many students, learning basic coding can be an empowering experience that teaches a wide range of skills: creativity, problem-solving, perseverance, confidence, and more. Teaching coding to your students helps them to better understand how the modern world works, and perhaps, someday, shape the digital future. Don't worry—even if you don't consider yourself a "techie," there are plenty of opportunities to learn alongside your students!

Use these links to jump to any section below:

What is coding?

Coding is the process of writing out steps for a computer to follow to achieve a goal or perform a task. Typically, coding is done using a programming or scripting language—like HTML, Python, or JavaScript—which the coder uses to translate his or her ideas into words, phrases, and syntax that the computer understands. These instructions are also called "commands."

Computer programming is the larger process: It involves identifying a problem or challenge, considering potential solutions, writing code that can enact those solutions, and then testing and revising the code to achieve the desired results.

Computer programs, also called applications or "apps," can generally be run on a wide range of machines and devices, including computers, laptops, tablets, gaming consoles, and more. They include everything from operating systems, like iOS, Windows, or Android, to robust applications like Office or Photoshop, to web-based programs like Netflix or Instagram, to games like Minecraft or Candy Crush. Everything that a computer or device does happens through a program.



Why teach coding?

Coding isn't just for "techies" or kids who want to work on computers. There are lots of compelling reasons for all students to learn to code:

  • It might be required: Increasingly, some form of computer science standards are being added in states across the country, so you may find that it becomes a necessary part of the curriculum.
  • Creativity and representation: It teaches students how to be digital creators—to create their own websites, apps, and features. Coding allows students to wield the full power of the internet—and multimedia—to share their ideas, talents, and creativity. Plus, encouraging all kids to learn coding expands the representation of those making the fundamental programs that control so much of the world.
  • Valuable thinking skills: Learning to code provides students with skills that apply across content areas. By learning to tell machines what to do, students engage in problem-solving and computational thinking, which apply to academic and professional disciplines across the board. As computer scientist Mitch Resnick from MIT explains, "Most people won't grow up to become professional computer scientists or programmers, but those skills of thinking creatively, reasoning systematically, working collaboratively … are things that people can use no matter what they're doing in their work lives."
  • Deeper understanding of technology: It teaches students the concrete specifics of how everyday technologies work. Students get a better understanding of what apps are actually coded to do and, in turn, what some of the larger consequences of using them are.
  • Opportunities: Technological knowledge is valuable and applies to all sorts of careers, so understanding some of the basics opens up more opportunities for kids.
  • It's fun! Coding can provide students with a creative outlet, and it will give them a leg up when they begin pursuing a career and other professional goals.

"Most people won't grow up to become professional computer scientists or programmers, but those skills of thinking creatively, reasoning systematically, working collaboratively … are things that people can use no matter what they're doing in their work lives."



Is coding relevant across subjects and curricula?


Because learning to code involves logic, problem-solving, backwards planning, and other broadly applicable thinking skills, teachers of all subject areas can consider making coding a part of their content area. In fact, students can use coding projects to demonstrate knowledge in any subject. 

Coding projects are also great opportunities for cross-disciplinary, project-based learning. Tools like Blackbird, Elementari, Vidcode, and EarSketch apply coding in all kinds of creative ways.



At what age can students learn coding?

Coding instruction can begin as young as 5 years old. Code.org, for example, has a full offering of courses for grades K to 5. The basics of computational thinking are even possible to teach in offline activities! Since challenges and iteration are a part of programming, younger students can also practice building resilience and perseverance as they learn how to code.



What do students need to know before learning coding?

The short answer is, nothing. No formal prerequisites or specific skills need to be mastered before kids get started. Coding, does, however, challenge students to use their existing knowledge and skills in several areas, including:

  • Basic computer skills.:Students will need to know or learn fundamental skills for using a device, including clicking, typing, logging in and out, etc.
  • Logic: Coding challenges students to identify cause and effect, sequence, make inferences, and perform other cognitive skills.
  • Perseverance: Coding requires students to experiment and use trial and error to figure out which commands, syntax, and sequencing will lead to the outcome(s) they desire. This requires a certain level of stick-to-itiveness that can be challenging for learners of all ages.
  • Attention to detail: Sometimes the smallest of details can cause coding syntax to error out or to not function as desired. Students will need to apply or learn mindfulness and patience when reading and writing their code.



How do I get started teaching coding?

Your first steps will depend on your situation. You may need to plan the course logistics, get trained to teach the course, make the syllabus, or maybe all three. Maybe you just want to add a few coding lessons here and there. Below are some basics to consider, whatever your situation.

  • From the ground up: If your school doesn't have any existing materials or background in this area, you can start with a resource like "How to Start and Build an Inclusive Computer Science Program" from KQED's MindShift. 
  • Inclusivity: No matter the situation in your school, make sure to encourage students who come from backgrounds that traditionally have not been represented in the histories we tell about computer science and technology and are underrepresented in the profession itself. Organizations like Black Girls Code and Girls Who Code help widen the scope to make coding more inclusive.
  • Determine skills and interest: Meet students where they are in terms of interest and skill levels. Some students may already be deep into Python, while others may feel like coding is definitely not for them. Resources are available for all use cases!
  • Block-based: Beginners will do best starting with basic computational thinking skills and block-based coding. For those not familiar with Scratch, the "blocks," which are essentially little puzzle pieces that snap together, represent different commands, so kids don't have to know an actual programming language to code.
  • Intermediate and text-based: There are also hybrid tools that let kids switch between blocks and text, which are great for more intermediate skill levels. And then, of course, there are fully text-based tools that require knowledge of programming languages.
  • Influence of AI: Generative AI adds a whole new dimension to this process, since it can help generate—and fix—lines of code.



What are the best resources for teaching coding?

There are so many! And unlike when coding for kids first came on the scene, most resources go way beyond just teaching the code itself. Instead, they offer coding in the context of the real-world technologies that are affecting everyone's lives. Here are some resources to help narrow down the choices to the best ones out there:

Jamie K.

As an education consultant, Jamie created curriculum and professional development content for teachers. Prior to consulting, Jamie was senior manager of educator professional learning programs at Common Sense and taught middle school English in Oakland, California. For the 2016–2017 school year, Jamie received an Excellence in Teaching award and was one of three finalists for Teacher of the Year in Oakland Unified School District. While teaching, Jamie also successfully implemented a $200,000 school-wide blended-learning program funded by the Rogers Family Foundation and led professional development on a wide range of teaching strategies. Jamie holds a bachelor's degree in philosophy from Eugene Lang College and a master's degree in philosophy and education from Teacher' College at Columbia University. Jamie currently lives in Sao Paulo, Brazil with his 4-year-old son, Malcolm, and his partner, Marijke.