According to
Code.org, 90 percent of parents in the U.S. want their children to learn computer science—it will be crucial for many jobs in the near future—but only 40 percent of schools teach it. Critics claim that it is mainly the more affluent schools that offer computer science courses, thus denying those who attend poorer schools the chance to learn necessary skills. A focus on STEM is not enough: Code.org also reports that while 70 percent of new STEM jobs are in computing, only 7 percent of STEM graduates are in computer science. It is imperative that savvy schools begin to focus some STEM resources on computer science and programming.
In my opinion, parents of every student in every school at every level should demand that all students be taught how to code. They need this skill not because they’ll all go into it as a career—that isn’t realistic—but because it impacts every career in the 21st-century world. Any country recognizing that will benefit in the long term.With the following resources, you can teach programming to every student and every age.
Teaching Coding to the Youngest Students- Tynker Games: Use these age-appropriate games to teach your elementary students coding concepts. From Puppy Adventures to Math Art and Maze Craze, you’ll find games that students in grades 1–8 will enjoy. Tynker also has a curriculum and STEM product library that you may want to peruse if you’re interested in combining programming with social studies, English, math, and science.
- Kodable started as an app targeted to students as young as kindergarten age, but it’s now a complete curriculum. The first 30 levels are free, more than enough for an hour of code. Kodable is recommended for ages 5 and up, but there are stories of kids even younger using the app with great success. Students don’t need to know how to read in order to program using this game.
- ScratchJr is a version of Scratch intended for ages 5–7 and available as a free iPad or Android app.
- A favorite of some programmers, LightbotJr targets children ages 4–8.
- Robot Turtles is a board game that teaches children the basics of programming without having to use any technology.
Teaching Coding to Kids 8 and Up- Hopscotch is a free iPad app for upper elementary and above. Wesley Fryer has curated resources for Hopscotch in the classroom that are full of challenges that you can use with students. He also recommends activating the emoji keyboard (go to Settings > General > Keyboards) for use with the program.
- Scratch is a programming game that can be downloaded or used online and is supported by MIT. It has a powerful Hour of Code tutorial in which students can program a holiday card in their web browser. If you want options for other times of the year, use the one-hour Speed Racer activity to teach your students Scratch. Teachers can watch this tutorial, visit ScratchEd’s Hour of Code Ideas forum to ask questions, or search “hour of code” in the forum for lesson plans using everything from coordinate geometry to Latin. Scratch is considered acceptable for beginners. (Some educators use Snap, originally a version of Scratch but now written in JavaScript; it is supported by University of California at Berkeley. There are several alternatives to Scratch with a similar interface. Give this list to your IT department if there are technical reasons why you can’t run Scratch or Snap.)
- Lightbot is a puzzle game with a free version that lasts an hour and full versions for sale on iTunes and Google Play. It teaches planning, testing, debugging, procedures, and loops.
- Alice is a popular platform with a unique storytelling aspect. You can use it to create a game, tell a story, or make an animated video. Like Scratch, Alice is free and supported by a powerful community of educators. There are two versions of Alice. The newer 3.0 version still has a few bugs but sports many new, very cool animations. This long-standing platform is a rewarding tool that kids will want to keep using past the initial hour. Alice is considered more for the intermediate student, but experienced teachers can use it with beginners.
- Kodu is a programming tool that can be easily used on a PC or Xbox to create a simple game. There’s also a math curriculum. Pat Yongpradit, Code.org’s director of education, used this in his computer science classroom. (I’ve used it as well.)
- Gamestar Mechanic offers a free version that you might want to use for your Hour of Code, but if you fall in love with it, the educational package allows teachers to track student progress, among other features. The company supports educators with videos and a must-see teacher’s guide.
- GameMaker: Studio is an option if you want to make games that can be played in any web browser. The resources aren’t as comprehensive as with some of the other tools here and the community isn’t vibrant, but this one has been around for a while and might be fun for a more tech-savvy teacher.
- SpaceChem is an interesting mix of chemistry, reading, and programming for ages 12 and up. As students read the 10,000-word novelette, they have to solve puzzles by assembling molecules. SpaceChem created a helpful guide for educators. This tool is available for download on Steam and installation on Windows, Mac, and Ubuntu. (Download a free demo.)
- CodeCombat is a multiplayer game that teaches coding. It’s free to play at the basic level, and students don’t have to sign up. It has the advantage that teachers don’t have to know computer science to empower learning in programming. It’s recommended for ages 9 and up. See the teacher guide for the information and standards covered in this game.
- Minecraft: Education Edition continues to be popular as the new owner of Minecraft, Microsoft, continues to collect and share best practices from classrooms.
- Code Monkey Island is a board game designed for children ages 9 and up. This is a great addition to your game corner.
Additional Resources
- Check out the Hour of Code lesson plan tutorial from Khan Academy for ways to teach your students. These lessons are for older students with one computer each, but they can be adapted to a flipped class model.
- While the official Hour of Code is in December, see these resources for educators, unplugged lessons (no computer required), and tutorials to help you teach computer science to kids of all ages at any time of the year.
Use Hardware to Make Something CoolProgramming, making, and creating have never been easier. If you’re getting into the maker movement or Genius Hour, these should be staples in your classroom. While they may take longer than an hour to code, they’re definitely something 21st-century schools can use, because students are programming and building with their hands.
- The Raspberry Pi is an inexpensive computer. There are many things kids can make with a Raspberry Pi, but after setting one up with my 15-year-old nephew, I recommend that the teacher be a tad more advanced than I am. This is definitely a tool I’d use in my classroom. (A kit costs less than $100.)
- I am in love with the Hummingbird Robotics Kit—it makes Arduino easy. An Arduino is basically a motherboard that you can make, plus a programming kit. I have one of these in my classroom, and the students are fixated for hours. (A kit is around $100.)
- Lego Mindstorms are part of my curriculum every spring. Students love Legos! I have six older kits that we’ve used for years. The newer NXT kits have cool robots that can be made and programmed. This product has been around for years, so there are many resources for teachers. If you purchase an older kit on eBay, make sure it will work with newer operating systems.
- Dash and Dot are two endearing little robots that can be used with ages 5 and up. These robots have apps that can be used to program them, for which children ages 8 and up can use Blockly, the visual programming language created by Google. Older students can use Objective C or Java to program the bots.
- Sphero and Ollie are fantastic robots that can go almost anywhere (my students have taken them across water). The SPRK education program gives teachers and parents a curriculum for using the bots and teaching programming even while the adult is still learning.