Computer programming may seem like a strange thing to introduce to students as young as kindergarten but there are actually many educational benefits to starting young and new resources to do so in ways that are developmentally appropriate. Click the image below to see an infographic explaining the benefits of coding at an early age.
Learning a New Language
So how did I introduce coding to our students? It started with a lot of questions and a fun story to make the ideas accessible. I told each class that today, they were going to start becoming computer programmers! I asked if anyone had heard of computer programmers before and had an idea about what they do. I heard some great responses, including a few specific answers from students who had family members who know how to code.
Next, we talked about the surprising fact that computers don’t speak the same language as we do. I asked the students to remind me what languages we speak at school (primarily English and Spanish) and explained that just as they are learning Spanish, they can learn code, the language of computers. With the older grades, I talked more specifically about different programming languages and students were very amused to discover that they have names like Python and Ruby.
Once we had established the fact that computers have their own language, called code, I moved onto a discussion about how a person might “speak” code and how programmers have learned to read and write (type) code. The first graders, who recently built their own keyboard, were very quick to chime in and let me know that the easiest way to interact with a computer is to type into it.
Shh … Don’t Tell, but Computers Are Helpless!
Then, I let the students know a secret … computers don’t know how to do anything on their own! They were excited to be “in the know” about computers and this helped them understand why computer programmers need to write code in the first place – because computers need directions to know how to do anything. Since all of the students could relate to following directions from their teacher, they understood that they might need to give directions to a computer to help it understand how to behave or what to do.
This led to a conversation about what computers look like and whether they are all the same. I heard some great ideas from students about how computers could look: polka-dotted, silver, two rectangles together, a tablet and a keyboard that attaches. We looked around their classrooms and noticed that some computers stay in one place (desktops) and some can move around (laptops) and since I had iPads with me and was wearing Google Glass to document our work, I was able to show the students that computers or computer chips can even be hidden inside other devices.
Finally, we were ready to talk about robots. This was important because the robots were what would tie everything together. I let students know that computers could also be found inside robots, which meant that they couldn’t do anything until they were given instructions by a computer programmer who could read and write code. We talked about some robots they had seen or heard about, such as Lego Mindstorms, a robot puppy, and of course, Iron Man.
Meeting the fuzzFamily
All of these questions and conversations help prepare students for the narrative I told about the fuzzFamily. I explained that we would be using an app called Kodable Pro to help us learn some coding and practice our computer programing skills. Kodable is specifically designed to introduce and teach the logic of programming to K-2nd grade students.
We opened the app and met the fuzzFamily, who I explained were space explorer robots. This cued them into the fact that the fuzzes had computers inside them and they would need to be programmed with code before they could do anything. I explained that the fuzzFamily had crashed on planet Smeeborg but they weren’t too sad about it because they discovered that the planet was full of mazes. Since they love to explore and solve problems, they wanted to try to complete every maze, they just needed our help to write the codes that would get them to the end. We started playing the first few levels together as blueFuzz and I let students know that as we completed more mazes, we could find and “unlock” new fuzzes that had been scattered across the planet. We would also have a chance to learn new types of code and write more complicated programs to help the fuzzFamily robots succeed.
Writing our First Code
This made a lot of sense to students because they could see that their fuzzes would just sit in one spot until they were given some code and that fuzzes would keep going until they ran into a wall and then stop, unless given additional codes. Seeing this in action helped students realize how important their work was and empowered them to want to help the robots by writing code.
We played a few more levels, practicing using the four initial codes (up, down, left, and right) which of course also helped students practice directional names and signs and then, after we found simonFuzz, I walked students through the idea of a condition, a new code that was added. Conditions are if/then statements and we talked about why we might need to use one and when we should or shouldn’t add one into our program. Throughout the week, some classes progressed far enough to also be introduced to the loop (repeat), a code that requires students to practice pattern recognition and realize when there is a repeating code in their program that they can just use over and over. A couple of classes also talked with me about what to do when you get stuck and how to fix a program that’s not working. I introduced the language of “debugging” code and shared that eventually, students would have a chance to practice debugging some code in Kodable.
Now that students have had an introduction, we will be able to pick up and continue our coding work throughout the year, building on their developing math and problem-solving skills while also helping them learn to create their own programs. Students can also easily practice coding at home with the free Kodable app or for more open-ended play once you can work with them to code programs and create stories or animations in the Hopscotch app or online with MIT’s Scratch.
Check out the video below to see a summary of the work we did in each class during the week!
The story of the Hour of Code in K-2nd grade at EA.