Teaching Elementary Students to Code: Where to Start
We have all heard that we are preparing our students today for jobs that do not exist yet. Going back twenty years—even ten years—it would be hard imagine elementary students learning to put together algorithms to create lines of code.
Hadi Patrovi, Code.org co-founder, gave a TEDx talk about computer science in 2014 regarding the importance of computer science. “Now Computer Science, of course is about technology,” he said, “but the reason we should be teaching it to our students is because actually, computer science is broader than that. It’s about logic, problem solving, and creativity.”
The Hour of Code began as a way to get students and schools across the world started with coding. Over four years after the first Hour of Code, computer science is becoming stronger again as we prepare students for the jobs of tomorrow. As Hadi discusses in his TEDx talk, almost every industry looks for computer scientists.
As we are in the middle of the greatest computer science revolution in our schools, many may not know where to begin. There are a variety of different resources out there. Here is a guide that will help you choose how to get your elementary students started with learning the basic concepts of coding.
Coding Education Menu: Resources You’ll Want to Be Familiar With
The following coding tools will help introduce students to basic coding concepts, including algorithms, loops, debugging, and conditionals. I’ve put them in the order that a beginner would likely want to start introducing to their students.
This game challenges young coders to write algorithms helping a little robot character complete puzzles. It starts off with basic commands on creating algorithms and then moves into advanced levels including procedures and loops.
As an elementary computer teacher, Code.org is my favorite platform to teach my students how to code. Code.org is the website that provides the foundations of coding and beyond. It allows my third to fifth grade students self pace their learning.
Code.org has courses for students of all ages. My fifth grade students are currently working through the express course. Some students may be on level 5, while another student may be at level 14.
Self-pacing students is great, but sometimes instructing a whole class is needed. Throughout their courses, Code.org supplies unplugged lessons to teacher students coding without computers! My favorite lesson is educating students about loops and challenging them to create a song and dance involving loops.
While Code.org does have full coding courses, your students don’t necessarily have to commit to the whole thing to find out if they want to pursue it. The company also offers sample levels that students can work through on an a la carte basis.
Oh, and Code.org is 100% free.
After my students attain a certain level of knowledge from Code.org, I will introduce them to Scratch. This website and downloadable program enables students to create their own programs. They can create stories or games that they can publish for their friends to play.
Scratch uses the same Java based Blockly language of drag and drop blocks to form commands. Students learn that each sprite (character/event) in their project has their own script to perform actions. While some background knowledge of coding is needed, Scratch is a great fundamental step up the ladder to mobile app programming.
I stumbled across this game one day when I was looking for help planning my Sphero Sprk+ robotic lessons. Compute It is a flash based game that challenges students to over 50 levels of coding puzzles. Using only your arrow keys, you have to solve each puzzle by completing the algorithm. Through this game, you will learn loops, conditionals, and functions.
I rolled this out to my students by not saying much because I wanted them to fail forward. This was the perfect coding tool to just throw it at them and see if it stuck. My students love Compute It! I wish more levels become available.
Here’s another simple coding website that is produced by Google using the same Blockly language. Your students can learn how to make a Yeti dance or program a LED dress. As MadeWithCode’s website mentions, “Code is a tool that lets you write your story with technology.” After tinkering with the different coding projects, check out their About section
The Next Steps: From Advanced Games to Coding Robots and Beyond
After exposing your students to these basic websites and they become familiar with coding, you may want to branch out to deeper understandings of coding. As mentioned before, Scratch is perfect for students to progress through in middle school before they begin coding mobile applications.
For those of you looking to take the next step, I have one word—Robots. There are many robots out there that receive high praise including Sphero Sprk+, Ozobots, Cubelets, and Dash. A great place to learn about educational robotics trends is by tapping in to your PLN via social media. I've stumbled on quite a few trends, such as these robots, via my Twitter PLN.
I also found these amazing tiny computer chips via Twitter that students can program using drag and drop blocks.
Raspberry Pi and BBC micro:bit
The UK is doing amazing things for computer science as they are the homes to the Raspberry Pi Foundation and BBC micro:bit Foundation. These foundations publish a lot of content on how you can use their tiny computer chips to build and innovate various projects including a self-watering hydroponic garden or a weather station.
In the United States, my favorite website to purchase and explore projects with the Raspberry Pi is Adafruit. Check out their detailed tutorials including their featured Pi projects on Pi Fridays.
The BBC micro:bit is my new favorite electronic in the classroom. I just ordered a handful of these computer chips for the students to program using the Microsoft MakeCode website. They have many projects—one of my favorites is the milk carton monster!
However, I will be introducing my elementary students to these by having them add blocks of code to program the micro:bit. They are extremely easy to use as you plug in the micro:bit with a micro USB cable to the computer. From there it appears as a flash drive and you drag and drop the code file from MakeCode. There is no need to worry about deleting the old code as everytime you drag new code to the micro:bit, it will overwrite.
Start Small and Let Your Students Choose Their Path
These are just a few ways to introduce computer science into the elementary classroom. But take it slow. The best advice I can offer is to start small by participating in a coding activity and see the urge for more from your students. Allow them to personalize their learning by choosing their coding path. Give them room to explore new and exciting worlds.
The truth is, whether your a teacher or parent, you have an enormous influence on kids futures. Yes, we’re preparing students for jobs that don’t exist, but we’re also helping them discover the passions that will drive them throughout their lifetime. Giving them that opportunity now ensures they don’t have to wait to be the next Steve Jobs, Bill Gates, or Limor Fried, because nowadays, kids can be the next Steve Jobs at 12 years old.
Speaking of a 12 year old Steve Jobs, I’ll leave you with one last bit of inspiration. Here is a video of Thomas Suarez as a sixth grade student delivering a TEDx talk on the importance of Computer Science in education. It’s fewer than five minutes and illustrates the awesome power of computer science your students can wield, if you let them.