Coding Sphero

 

Prior to this activity, I had never coded before, so I was very thankful that our first task was attainable. Initially, I was really frustrated with Sphero because my partner and I had trouble connecting the Sphero and iPad. After we successfully connected the Sphero to the iPad, it was really fun trying to figure out how to code it. We got lucky because the code we were given was only off by one — making our first task easy. The next day’s task was more difficult because we had to completely code our Sphero to travel around campus. Our Sphero followed the following route: Owen Residence Hall, then to Case Dining Hall, then to Riddick Hall, then to Poe Hall, then to the tennis courts at Pullen Park, then to Clark Dining Hall, and finally back to Owen. Check out the route here!

Programming the Sphero to travel inside the lines from ‘building’ to ‘building,’ was really challenging at first. It took a few rounds of completely guessing before we had a grasp on the task. The most frustrating part was the inconsistency of movement due to the various surfaces the Sphero traveled on. The first day, we started out on the carpet, but then moved to the hallway, which ended up throwing everything off slightly. Additionally, it took a while before we realized how extremely important it was for the Sphero to start at the same EXACT spot every time. If it was off just slightly, the entire route would get messed up. Thankfully, Mrs. Davis was very understanding and checked us off even though the route ended up being slightly off.

If I were to do this activity again, I would draw the lines straight and make all of the turns sharp 90-degree angles. Trying to keep the Sphero inside our slightly curved lines was really hard to manage, and made the task more difficult than it should have been. Additionally, the awkward shape of our turns made it difficult to keep the Sphero in the lines when it needed to switch directions. In my mind, it would make sense that if I wanted it to turn right, I would angle the turn at 90 degrees, but the Sphero had a mind of its own and chose to turn the complete opposite direction the majority of the time. It took several tries before I started to understand the way the Sphero was programmed to turn and how critical angling the aim was. Check out this video that shows how going off track just slightly messes up the rest of the route.

What is computational thinking?

How was computational thinking used in this activity? 

  • Algorithmic Thinking
    • Essentially, the entire task was based on algorithmic thinking. The objective was to program the Sphero to follow a series of steps/instructions so that the Sphero would successfully go through our designed route. It was critical that our instructions were easy to follow — which was relatively simple considering there were only so many options for the Sphero. Being able to plan steps to effectively complete a task is a critical skill that is practiced while coding a Sphero.
  • Abstraction
    • This task required abstraction when coding the sphero. When coding on the app, there were numerous tabs with several options that would allow one to add sound, color, and other effects to a sphero. There were also a lot of advanced coding buttons that could have been added. While it would have been nice to play around with all of those fun features, we had a difficult task to complete in a short amount of time. With that being said, we ignored the special features and incorporated minimal features to ensure we fulfilled the requirements — thus, making a “generic solution.” Additionally, when designing our map, we were not focused on drawing the route identical to the one Google Maps had generated because that would have been very tedious and unnecessary.
  • Decomposition
    • The entire project was a task that required decomposition, as it was a large one to tackle and required the ability to break it down. One problem in particular that we ran into was at the parts where the route was angled slightly, causing the sphero to run off the paper if it continued straight ahead. It was difficult to recognize that the sphero had to turn slightly a series of times to stay within the set lines. With that being said, we broke down each part of the curved track into smaller parts and coded for each individual section, rather than attempting to code the entire path. One part, in particular, coming from Clark Dining Hall back to Tucker Hall on Cates Avenue required this idea of decomposition. We coded our sphero to stop, pause, and reangle several times on ‘Cates Avenue’ to successfully keep it within our limits.
  • Pattern Recognition
    • Being able to recognize a pattern when coding is very beneficial because it saves you time and makes coding easier. There weren’t any patterns in our task because it was hand-drawn, but if this had been computer-generated and we could have made the lengths and angles exactly the same, I would have been able to use the exact same codes. Although I didn’t necessarily strategically code with the same values because of pattern recognition, I was able to recognize the necessary code when there was an angle change: stop, pause, turn. For example, our sphero left and returned their dorm from the same ‘door,’ therefore the distances and time length were identical, but the angles were opposite. Being able to recognize that pattern helped speed up that part of the coding process.

Sphero in the Classroom?

I really hope at some point in my future teaching career that I am able to use Spheros in my classroom. I think the best part of Spheros is that some students may not even recognize the skills they’re learning right away — they will be having too much fun! Of course, I will address the concept of coding and explain how students are using computational thinking as they code. I found this video that showcases the ways in which Sphero can impact students, individual classrooms, and ultimately an entire school. At the end of the video, the teacher described how his classroom environment changed from “‘why do we have to do this” to “when can we do this again?'” While using Spheros, my students would have to learn how to recognize errors and build off their mistakes to successfully code. I think this lesson of ‘trial and error’ is really applicable to elementary students. Being able to recognize one’s mistakes and then being able to learn from them is a fundamental skill that I hope I can incorporate into my classroom to ensure my student’s future success. While researching the opinions of other teachers, I came across this article that explained how Sphero is also applicable in fields beyond math and science. As someone who prefers social studies and language over math and science, I am eager to try to uniquely incorporate Sphero into all areas of study. I also found this awesome article that includes Sphero cards that have specific tasks for students to complete!

Check out this amazing video about Sphero according to educators around the world!

My Final Thoughts…

Sphero is engaging, fun, and challenging — and I cannot wait to incorporate it into my classroom!

cnburke