Sunday, November 27, 2016

Rise of the Robo-mice

While 4th and 5th grade have been engineering arcade games and programming in Scratch, the kindergarten through 2nd grade students have been taking the programming skills they learned during the first rotation into the physical world. The Code.org puzzles are an excellent starting point for students to learn how a computer program is constructed and to practice the algorithmic thinking needed to accomplish a task. I moved these classes to programming robots for two reasons: first, so they could see their programs play out in the real world rather than on a screen, and second, because robots are cool.

Students begin the unit by being introduced to the robo-mouse. It is about the size of half a grapefruit with 7 buttons on its back. There are 4 directional buttons shaped like arrows, a "run" button, a "clear" button, and a button that makes the mouse perform a random special action. Each kit comes with a set of large tiles that can be linked to create mazes for the mouse to navigate. Day one I taught the classes how to properly operate the robots and how to build the mazes. Then I let them explore and build whatever kind of path they wanted to program their mouse to run. We used the next few days working through the "Challenge Cards". This required students to build a pictured maze, use a small set of "algorithm cards" to plan their program, program the mouse, debug as needed, and finally record their program on paper. It took some practice, but eventually everyone was doing a marvelous job. I was particularly impressed with the teamwork displayed by so many of the student groups.

The second week of the unit varied a bit by grade level. Kindergarten and 1st grade used the robo-mice to retell a story, while 2nd grade created their own Challenge Cards. To tell their stories, students first drew a small story map showing important scenes and traced the path they would have their robot travel. The next day, teams were given a piece of chart paper to draw and color a story map large enough for robo-mouse to navigate. They then programmed their mouse and practiced telling their story as the robot scurried around their map. Students quickly discovered that talking while the mouse moved around the canvas took more practice than they thought. Many also had to overcome the challenge of the mouse moving to the different points of the map faster than the teller could speak. They persevered admirably and produced excellent work.

Second grade employed the design process and spent the week creating original challenges for their classmates to solve. First, they had to build a maze complete with obstacles, the robot's starting point, and the cheese that is the goal. They had to draw the maze on grid paper as accurately as possible. Next, students planned, tested, and recorded programs to move the mouse to the cheese. In cases where there was more than one correct path to follow, the teams had to record these multiple solutions on the back of the challenge cards they created. Students enjoyed creating the most complex mazes they could and challenging their friends to complete them.

So far, I am very pleased with how the students are adapting their prior knowledge from Code.org to programming the robo-mice. Some have been challenged by writing programs in 3 dimensional space, some have struggled with building the mazes pictured on the cards. The biggest adjustment students have needed to make to their thinking is in the use of the left and right arrows on the mice. In Code.org Course 1 the arrows used to build programs all correspond to the cardinal directions and move the characters north, south, east, or west on the screen. On the mice, the arrows represent forwards, backwards, turn left, and turn right. The turns do not move the mouse to a new location, just rotate it in place. Initially this difference lead to programs full of mice spinning in circles. However, the students adjusted quite quickly. That will help them when the move on to Course 2 in Code.org where the programming blocks for movements and turns are similarly differentiated.

The 3rd graders are also learning to program robots, but using a different device to do so. More about that in a couple of weeks.








No comments:

Post a Comment