I had a wonderful invitation this week – to join a kindergarten class for four days, to introduce coding using BeeBots. BeeBots are cute little yellow-and-black-striped robots. They have four directional arrows and a Go button, and can store up to 40 commands in sequence. There are also three mats with illustrations over a grid (treasure island, clear grid and streetscape). On the grids, one press of a BeeBot button moves the robot one square.
I was delighted to see rich evidence of computational thinking as the children interacted with the BeeBots. Here are the elements of computational thinking:
Decomposition – breaking down a problem or system into smaller more manageable parts
Pattern recognition – looking for similarities among and within problems
Abstraction - focusing on important information and ignoring irrelevant info
Algorithms - developing step by step solutions to problems that can be communicated to others.
Working with the BeeBots elicited all of these, but especially decomposition and algorithms.
Looking at our goals relating to 21st century or global competencies, I also saw many instances of growth mindset, perseverance, team work and other aspects of collaboration.
Observing the students involved in the activities, I saw a close correlation between their actions and the mathematical process described in the Kindergarten Program document.
Problem solving: Children develop and apply problem-solving strategies, and persevere when solving problems and conducting mathematical investigations. Using the BeeBots and successfully coding a path evoked all of these skills.
Reasoning and proving: Children develop reasoning skills (e.g., pattern recognition, classification) to create, investigate, and test possibilities and conjectures (e.g., through talk and through models provided by the teacher and sometimes by other children). Testing the code that was inputted and seeing the results, as the BeeBot moved across the mat, drew on these skills.
Reflecting: Children reflect on and monitor their thinking to help clarify their understanding and, if necessary, revise their thinking, as they conduct an investigation or solve a problem. If the BeeBot did not move as the students imagined, they had to re-think their code together and input a new sequence.
Representing: Children create representations of mathematical ideas (e.g., use concrete materials; physical actions, such as hopping or clapping; pictures; numbers; diagrams; dramatization; invented symbols), make connections among them, and apply them to solve problems. The BeeBots led the students to make connections between the number and direction of button-presses (code) and the grid.
Communicating: Children communicate mathematical thinking orally and visually, using everyday language, an emerging mathematical vocabulary, and a variety of representations (e.g., constructions, pictures.) Verbalizing the consecutive numbers in a sequence along with use of directional language such as forward or turn occurred constantly during this activity. Collaborating on a successful algorithm also used these skills.