Our third graders have officially entered into the realm of coding in the library. Many students have experience either through summer camp programs or on their own at home with coding, but few have explored the basic skills of coding, namely logic and problem solving. If you search the Internet for coding activities your browser will burst with new online programs, some free some not, that teach young students how to program. However, often a very important skill is overlooked, that of really thinking like a programmer. To become true coders students need to learn to think logically and to problem solve. Students who lack these skills will often become frustrated as the programs they envision do not become reality. This is because students consider programming bugs to be problems within the computer instead of what they are, a mistake made by the person writing the code, the programmer.
This means that we start coding off the computer. Our third graders are working on their logical thinking and problem solving skills. In addition we emphasize that computers are not really smart, rather it is the person creating the program with the real brains. A computer will do nothing it is not instructed to do. Our first lesson was having students create simple pictures using lines and colors. They then had to create instruction cards for another member of the class to replicate the same picture. This lead to much laughing but through the merriment students were lead to understand that it was not the person following the instructions, but rather the instructions themselves which were bugged. This lead to interesting conversation about how they could have made the code simpler, easier to follow and was the order of the directions correct? How did a person know where to put the yellow line?
We followed this activity with another short pairing we called Caller and Drawer. Paired students were given a picture made with shapes. Sitting back to back, one student called out instructions on how to create the picture, while the other student drew the shapes with the directions. Again, there was much hilarity as the students shared their pictures, however, this time students were working much harder to get their ideas across. We discussed how clear, short directions were most effective. As a bonus, this also lead to a discussion about how we all communicate a little differently and that we need to be open to each other and seek to listen to understand.
Presently, the students are applying their skills to board games. We have grouped the students into fours with some groups playing Mouse Mania while others are playing Make’n’Break. The Mouse Mania is a simple straight forward coding game, however, we have used the adapted version of the rules for Make’n’Break. Similar to the Caller and Drawer game. Students played in pairs and worked to have their partner build the image they were assigned on the card.
The students are really enjoying the game play even as I continue to circle back emphasizing the skills they are learning through the play. Because students want to become better players, they are listening to advice and thinking more about how they can more logically approach their tasks. The students will be moving onto the online coding application, Scratch, in a few weeks, once they have time to establish and build some basic skills.
As with all skill development and mastery, some students will cement the skills very quickly while others will establish mastery at their own rate. Giving ample opportunity for the game play followed by discussion provides practice for students. This is a new way of introducing coding skills for me, so I am excited to see how these students approach Scratch, compared with classes I’ve taught in the past.