In my Instructional Technology for Educators class, we tested out how to use Sphero Bolt Robots!
A Sphero Bolt is a new tool being introduced to classrooms that makes coding more accessible to younger age groups.
The Sphero app makes it easier for students to learn the basics of coding by making their Sphero bolt roll, turn, light up, and make noise!
Our assignment was to work in teams of two to make and make our Sphero Robot successfully navigate a map we created of NC State. It needed to accurately follow the roads we drew. Our robot needed to follow the routine of starting at a dorm, heading to a dining hall, "attending a class", going somewhere on campus to "hang out with friends", and then returning to the dorm building. While we did this we kept in mind the aspects of computational thinking.
First, we had the opportunity to play around with the sphero and explore all of its capabilities. Through decomposition, we were able to turn an at-first daunting task into a simple one. Figuring out the basics of sphero like how to make it roll at a certain speed for a certain distance, it made much easier to have it follow out map. Being able to explore and trial and error like this makes learning fun! You can make mistakes to learn without repercussions.
Decomposition: breaking down a complicated problem into its components and working on one component at a time
Decomposition is an essential skill for effective problem-solving. It takes one large, overwhelming task and breaks it into manageable parts. This is a skill used outside of just STEM subject areas. Think of how in an English class you need to scaffold a paper from an outline to a rough draft to a final draft. That is decomposition!
Now we had to tackle making the Sphero Bolt follow a code. The Sphero app makes coding easy. It breaks it down into puzzle pieces with directives. We would connect pieces like "roll at 90 degrees for 3 seconds at a speed of 25". This was a process of try, try, and try again!
My partner and I created a very basic map of NC State. It followed a basic (but accurate) layout from dorm buildings, classrooms, and social areas. This would an example of us using abstraction to complete our task. We made sure we made our "roads" wide enough to allow for some margin of error in our sphero's movements.
Abstraction: stripping away unnecessary details to develop a generic solution, or presenting a complicated system with a simple model or visualization
Again computational thinking is not limited to STEM subject areas! Abstraction can bridge the gap between math and language arts. In early grades math students are taught to read word problems and highlight key information. This is them "stripping away those unnecessary details".
Our last step was creating a complete chain of codes for a sphero to follow. Our final code was approximately 15 directives just for movement. For each length of our map, we had to set direction, time, and speed for our sphero to move. Our map was broken into thirds that way we could perfect our code in sections. This made it easier for us to change our code in small chunks without causing a large chain reaction. This would an example of algorithmic thinking. Coding requires the exact following of steps or the entire code needs to be revamped. While this was at times frustrating and tedious it was rewarding to see our final run.
Algorithmic Thinking: creating and using a well defined series of steps to achieve a desired outcome
When I hear "algorithmic thinking" I first think about how it can be used in math class. For example, using PEMDAS to solve a multi-step problem. But what about other subjects? Anytime students use a step-by-step process to achieve an outcome they are using algorithmic thinking. In a music class, learning solfege notes, then learning to read music with the notes written below, and then reaching the goal of learning to sight read.