Five easy ways to teach coding to students of all abilities


The thought of teaching coding can be intimidating, especially to teachers who don’t feel computer-savvy. Thankfully, there are many tools and curriculum ideas to help. This is important, because it is expected that in 2020 there will be 1.4 million computer programming jobs in the U.S., but only 0.4 million qualified workers. Society also need coders from diverse backgrounds, including those with special needs. Teachers are our most powerful agents in preparing students for this future.

Picture of James Denby and Robin Ulster

James Denby and Robin Ulster

Two webinars entitled “Beyond the Hour of Code: Implementation for All” and “Now I have to teach coding? A beginner’s guide” provided many helpful tips and resources. In the second webinar, presenters James Denby and Robin Ulster, currriculum and course designers for IdeaDrivenEducation and Eduro Learning, provided a hand-picked list of excellent resources along with strategies for teaching coding:

Introduce coding concepts

Explain that coding involves mainly three things: 1) events, 2) sequences, and 3) loops. An event is something that happens that triggers something else. A sequence is a series of actions. A loop is a repeated sequence. A good example of all three would be getting ready for school. The event might be an alarm clock going off. The sequence of events is the steps involved in getting ready. A loop is the repeated steps in brushing one’s teeth or buttering toast.

Do unplugged activities

With unplugged activities, you don’t have to prepare any technology, and you can engage the entire classroom at once. They especially good for students with special needs. Here are a few suggestions.

The Big Event

Buttons for The Big Event

Buttons for The Big Event

This is a fun group activity where students learn that events might interrupt regular routines. Download instruction and worksheets here. Display a picture with three “buttons” on it. Announce that when you “press” the pink button, the class should say “Woooo!”; when you press the teal button, the class should say “Yeah!”’ and when you press the purple button, the class should say “Boom!” Then have the class count aloud or sing a song. Periodically press one of the buttons to interrupt what the class is doing.

For Loop Fun

In this exercise, students pair up to learn about starting value, stopping value, loop intervals, and counter values. Students rolll dice (3 per pair) to move down a number line. Download instruction and worksheets here.

Getting Loopy

This exercise requires space for dancing/moving. Students watch (or do) a series of dance moves and identify the loop. Download instructions here.

My Robotic Friends

This is a one-hour group activity adjustable for all ages. Students convert real-world activities into instructions, and practice coding instructions with symbols. They learn the need for precision in coding, and practice debugging code. Download instructions and handouts here.

Introduce online coding exercises and challenges

Denby and Ulster hand-picked great online activities to introduce programming to students. The exercises introduce HTML, CSS, and block-based psuedo code, which is a precursor to Javascript. The list also includes lessons for older students, including high-school age and beyond. To see the list, you will need to join, which is free and is an excellent teacher resource.
Note that not all programs work on all devices. For example, Hopscotch is only for iPhone and iPad, and Scratch doesn’t work on mobile devices — although ScratchJr, which is not on the list, does.

Denby and Ulster cautioned that it isn’t enough to have the students just follow the online instructions in the exercises. To really absorb the meaning of what they are learning, students need to use the knowledge to solve problems. Teachers can help by presenting students with challenges. For example, to students who have learned a few lessons in Scratch, present these challenges:

  • When the sprite is in the top 25 percent of the sceren, make the sprite say “I like it up here.”
  • When two sprites collide, make one of them say “Excuse me.”
  • Make the sprite glide around the edge of the screen using only the Glide and Turn blocks.
  • Make the sprite move in a rectangle using only the Move, Turn, and Repeat blocks.

Denby and Ulster recommended that teachers move around the classroom and have students explain what they are doing, and what concept (event, sequence, or loop). They suggested putting students with special needs with other students (or each other) to spark collaborative problem solving.

Integrate coding with other subjects

Check out, which offers Scratch video lessons and “coding across the curriculum” courses on and

Denby and Ulster also offered their assistance in adapting lessons to include coding. You can reach them at

Expand your world!

Play with the online exercises and don’t be afraid to make mistakes — it’s part of the learning process! (Programmers estimate that they spend half their time searching for and correcting mistakes!)

Follow organizations which promote coding in schools. These include,,, IdeaDrivenEducation, CS-First (which offers free materials for computer clubs), and

Join communities such as’s Coding & Robotics K-8 and Digital Learning and Leadership, the CSTA (#CSK8) Google Community, and the communities surrounding online tools such as Scratch.

Follow Twitter conversations such as #teachcode, #CSK8, #CSforAll, and #kidscancode.

Computational Thinking and Coding for Every StudentAnd for more ideas on teaching coding, check out “Computational Thinking {and Coding} for Every Student: The Teacher’s Getting Started Guide” available on Amazon.


Leave a Reply

Your email address will not be published. Required fields are marked *