Last week, my first graders and I learned that anyone can code, and we proved it by programming our ‘robots’ to perform all kinds of useful, and sometimes hilarious, tasks for us. This week, we continued to develop our coding skills using Kodable for iPad, our ever-reliable paper and pencil, and a colorful selection of fuzzy pom poms. My class for this project are a group of emergent Chinese-English bilinguals, but the lesson would also work well for English language learners or multilingual learners. Kodable is a great app, but if you don’t have access to an iPad, you can still teach this lesson by using the printable resources alone. Click the thumbnails to download all of the resources you will need.
Today’s learning outcome: Software Engineers use their imaginations to plan their work
Imaginative planning is an important part of coding, so I made it the key focus of this lesson. I really wanted students to understand that building software is a creative, constructive process. Just as good writers plan, draft, edit, and publish, good software engineers take the time to plan and envision their work before they start. Throughout the lesson, we asked ourselves the following questions before we started writing: what do I want my code to achieve? What will my program look like? What do I want to happen when my program runs?
Step 1: Use our imaginations to bring Fuzz to life
I introduced the class to ‘Fuzz’, a small furry pom pom with eyes who will live in our class from now on. Just like last week’s robots, fuzzes have their own language which we must use to communicate with them. Unlike the robots however, fuzzes are round and will roll. So while the robots needed to be given one command for each step they should take, once a fuzz receives a command to roll in a particular direction, it will keep on rolling in that direction until told to do something different. This matches our Fuzz with the way fuzzes work in Kodable. Next, I drew a 4×4 grid on the board and drew Fuzz in the bottom left corner and a star in the top right. I asked the class to use their imaginations to plan a route through the grid that would take Fuzz from its starting point to the star at the end. After imagining the route, the students imagined what their code would look like. I then chose my own route, marked it on the grid, and wrote my program on the board using directional arrows as commands (see last week’s lesson for examples of what our handwritten programs look like). Students compared the routes and programs they had imagined with the one I had chosen, and we saw that there were many different ways to solve the same problem.
Step 2: Practice using our imaginations with Kodable
After getting to know our real life Fuzz, the class were so excited to see all different types of Fuzzes on our class iPads! I gave everyone a quick demo of Kodable, although it wasn’t really necessary as the app is pretty self-explanatory for young children. Everyone picked it up very quickly.
Step 3: Stretch our imaginations!
We are so fortunate to have three teachers in the classroom for this project, so we split the class into three groups to give everyone a chance at each activity.
Group 1 stretched their imaginations by progressing through the introductory levels of Kodable. At first it was very easy, but the students soon found challenges and had to work together to make sense of new situations and new commands.
Group 2 used real life Fuzzes and a printable Fuzz maze to write programs for each other to run. The students came up with some really imaginative routes through those mazes, as well as extra features such as candy for Fuzz to collect and hazards for Fuzz to avoid!
Group 3 imagined their dream computer game and drew what it would look like. At the end of the session, the game designers presented their games, explained the rules, and discussed how the games could be played. It was great to see that so many students had realistic ideas that they can actually put into practice next week when we start creating our own games!
Next week, we’ll be learning how to use Scratch to build simple online games. I’m not sure who’s more excited – me or the students! Continue on to part 3 or hit follow at the top of the page to keep updated on our progress!