Teaching students to code is a challenge that many classrooms are begging to take on. The toughest part of this challenge is finding out a good place to begin. What software is needed? What skills should they learn? Which language is most common?
Having taught coding at the sixth grade and high school levels I tried many different approaches. I worked students through HTML and then eventually into Java and Visual Basic. Students experienced various levels of interest and success with the programs I was offering. One simple fact was clear. They needed pre-requisite skills in coding just like they had with reading and writing. They didn’t need to know everything, but they needed to understand some basics that would help them grasp the concepts needed for the skills I wanted them to learn. Students that had these pre-requisites, thanks to parents or after school programs, were light years ahead of my other students that needed the fundamentals. If there was only a way to integrate some of this learning in the younger grade levels…
There are some excellent choices for teachers of K-5 programs out there, with more on the way each day. I have outlined some software apps that help students learn some core coding skills. While nobody expects students to be building complete software applications in kindergarten, you would be surprised at what they are capable of even before they know how to read. As they gain some basics, other apps move students up to more difficult work, eventually to hard coding simple applications using real syntax. The best part of introducing some of these apps to your classroom is that they don’t have to take away valuable core subject time. These can be worked into projects or simply used as a reward for a job well done. Most of these apps are engaging and very rewarding.
Here are the apps that help you start learning to code with K-5th Grade Students:
The first application that I am going to outline for the Kindergarten through 2nd grade program is Hopscotch. I have seen this application used by students that have not mastered reading yet. While most of what you will accomplish in this application is very simple in nature, the concepts are strong. Your students will learn the basics by choosing a character and teaching that sprite what to do. The rules are very much modeled after if, then statements that give the program rules. Although you can start off with simple activities for the younger students, you can create challenges for your older, more accomplished students. These challenges will create the effect of massive amounts of critical thinking. You might see smoke coming from their little minds.
The second application, Kodable, that works for younger students, but also provides challenge for slightly older students. It is much more of game style system that makes it an excellent choice for teaching programing ideas as a reward. The application works a little like Angry Birds in the sense that you earn stars as you progress through levels. The more efficient you are at solving the puzzle, the more stars you complete, and the more challenging the content becomes. This game is really about the building blocks of coding and how pieces of code build upon themselves to achieve the desired result.
The third application that offers up an amazing game experience is Lightbot. Like Kodable it has more of a game feel, but the challenges become more difficult as you progress. Lightbot becomes very challenging at the point where you are being asked to not only move your character to the proper location and have them light up a square, but you need to do it using functions that you create in advance. Just like in creating Hopscotch challenges, at the higher levels of Lightbot your students are learning how blocks of code can be called upon repeatedly to produce the desired effect in the most efficient way.
The fourth application that I want to highlight is called Tynker and it is one of my favorites. It has a similar style to Hopscotch in that it offers blocks of code that are put together Lego style to create a program that is executed. This offering however is brilliant in the way it is able to engage the student with excellent graphics and colorful animations. The other excellent factor is that this app utilizes the reward system that is similar to Lighbot and Kodable. Your students will have an easy time staying engaged to this rich content and it will prepare them to move into Scratch as their skills grow.
The fifth application that I would like to mention isn’t even available yet, but I am very excited about it. It is called Jaxi the Robot. What Jaxi does is combine many of the same ideas of the application I have already mentioned with the need to type in code. Instead of using blocks of code that have already been scripted, you use commands just as you would when coding a real application. These commands based in Java Script tell Jaxi the Robot how to interact with her digital world. This application promises to be engaging and fun, while also being very useful in teaching students just what it means to be a top notch computer coder.
I wanted to leave you with a road map that will help guide you on your quest to teach coding in the earlier grades. Below is a diagram that visually shows how these applications lead to bigger and brighter things.