This post is another in a series written by members of the CAIS Commission on Technology at their annual planning retreat.
I’ve been fascinated by programming with young children since I started my teaching career using Delta Drawing and Kinderlogo. As technology changed over the years I used Terrapin LOGO, the Microworlds products and a Roamer robot. For numerous reasons (including the fact that technological advances were creating flashier, cuter, often branded, products but not better ones for teaching in the early years), programming took a back seat as I explored other ways to teach problem solving, critical thinking and collaboration.
In the spring of 2012 I was excited to learn about the Tufts University DevTech Research Group’s Summer Robotics Institute. The workshop was designed for PreK-2 teachers, with a focus on introducing KIWI, a modular robotics system for young children. The participants were expected to bring KIWI into their classrooms and report back to the group as it was implemented. I thoroughly enjoyed learning with KIWI, using its CHERP programming language (with tangible blocks for the children to manipulate commands as they designed procedures) and collaborating with other early childhood educators about how we can bring it to our classrooms.
Unfortunately, when it came time to for us to use KIWI in our classrooms that fall, the team was still working out hardware glitches, and DevTech decided to it was best to continue its research using Lego Wedo while it perfected KIWI. I opted out of the Wedo part of the research because I wanted to focus on programming, and found the Lego/engineering part of Wedo too overwhelming for young children. The bugs in the KIWI hardware didn’t dampen my enthusiasm for programming, however, and I decided to explore a few different environments with our five year old students that used similar commands.
My participation in the Summer Robotics Institute gave me access to a set of tangible blocks that can be connected to create a program. I was also given the graphic files for each command and I made sets of command cards for the children to use in their programming prep. Although some of the commands are CHERP-specific (as are the black and white topcodes), many can be used in other environments so that students can plan their code before inputting it.
My students and I started with an exploration of commands in English and what it means to understand a different language. We then began to use the command cards with each other as the students programmed their peers to follow commands individually, and then in a string with a beginning and an end. This was some of the best self-regulation among a group of five year olds in my many years of teaching!
The first non-human programming that the students attempted was with our school’s 10+ year old Roamer. As they became familiar with the capabilities and commands available to use with the Roamer, we began to explore designing paths that are created with 90 degree turns. The children used “Roamer-length” strips to design their shapes and the command cards with numbers to plan their programs.
The students and I loved using the Roamer, but that it doesn’t display the commands as the students input them makes it very difficult for the programmers to keep track of their commands. One impulsive button click means that we have to clear the memory and start again. Still, its simplicity is very appealing for this age group and it opens it up to a wider range of students and creative tasks (I love the fact that it isn’t made cute like Bee-Bots or limited by its design like Pro-Bots).
Once comfortable with using the Roamer’s movement commands, I introduced the students to Move the Turtle. Here, too, I decided to have the students pre-plan their programs before using the app (finding that there are so many options once they start playing, that it’s hard to focus on the basic commands). In this case, groups of students made designs with sticks that they would re-create using Move the Turtle. They inserted small paper squares at each turn as a reminder that the turns would all be 90 degrees. One of the big changes between using the Roamer and different graphics programs is the scale for each step. While a Roamer step is approximately 12 inches, a single step in Move the Turtle is very small. We multiplied each single step by 10 for this programming, and modified the code once we saw its scale on the screen. I also had the students write their code down for this application, so that they could keep track of their work.When these projects were completed, we transferred the programs to the Roamer (scaling the steps back down) and used its ability to insert a marker have it draw the design. This was a big hit for the students, and it had the added benefit of having them look at and modify their programs once more.
When they finished these controlled projects, the students had a good deal of time to explore the programming environments on their own. They also played independently with Hopscotch, and it was rewarding to see how they transferred their understanding of commands and procedures to this new environment.
It’s an exciting time to be programming with young children and the options for teaching coding continue to grow. As I look to expand and fine tune the program at my school, I’m excited that KIWI will be available this summer from KinderLab Robotics. Because I know the developers of KIWI/CHERP and the great deal of research that went into their product (published in Computers & Education, March 2014), I’ll definitely purchase KIWI for our school. The same team at DevTech is also working on Scratch Jr. with the MIT Media Lab, and I will use it with my students upon its release. In the meanwhile, I’m deciding among getting a next generation Roamer Too (with keypads designed for different age levels) or trying some of these other products used to teach coding and robotics: Robotiky, Thymio, Primo, Romo and the Robot Turtles board game and book. The possibilities are both exciting and overwhelming, and I look forward to hearing how other teachers approach programming with young students.