As a science teacher, I have little experience with coding or programming beyond the ubiquitous LEGO NXT kits many of us have stocked in our labs. Despite my lack of experience, I make the case in my book Making Science that computer science should be taught alongside inquiry science in school. Due to the growing use of programming in all areas of scientific research, we should be getting students comfortable with code early by engaging them in the creation of their own programming and technologies. My argument is all well and good, yet I lack the computer science chops I feel I need to get others' work to the next level.
Thanks to a crash course with BirdBrain Technologies this past winter, I felt OK working with the Scratch IDE to control a Hummingbird robot platform. The word Arduino, however, would fill me with simultaneous delight and anxiety. I am cool with the basic circuitry used in a typical middle school lab, but breadboards were still a bit of a “black box” to me. In other words, I am as inexperienced with computer science and real hacking as any middle school teacher could be. With inexperience comes self-doubt. When teachers doubt themselves, they are less likely to expose their students to the wonders of making, and this is a barrier we can no longer afford. Enter Jeff Branson of SparkFun’s exceptional Education Department.
The Beginning: Parts, Purposes, Complexities
While co-presenting at SXSWedu 2017 with Patrick Benfield, Erin Riley and Sean Justice, my eyes were opened to the potential of computer science in any setting. The activity I was facilitating was a toy take-apart based on the activity developed by Agency by Design called Parts, Purposes, Complexities (PPC). Thanks to Angi Chau, Aaron Vanderwerff and the folks at the Tinkering Studio, I first experienced this activity as one of our first meetups at the Exploratorium. The gist of the activity is that you take apart an object to determine what it is made of, how it is made and how it works. It is a form of reverse engineering.
For my workshop at SXSW, participants were given toys — some electronic, some just fun mechanical windup toys. One toy in the bunch did stand out, however. It was a red and white stuffed bear that would light up and make a sound when its paw was squeezed. The bear’s deconstructionist happened to be Jeff Branson, of the aforementioned SparkFun team. Though eager to get right into the bear’s embedded guts, Jeff forced himself to participate in the documentation side of the PPC activity by drawing architectural or side views of his toy.
Jeff was clearly proving to be ahead of the class, as well as the instructor. In true maker ed style, I was able to celebrate his expertise in this setting by using his work as an example to other workshop participants. When we got to the part when the toys came apart and their internal complexity was on shameless view, Jeff really began to inspire. Using a SparkFun RedBoard, a tiny computer programmable with Arduino, Jeff plugged himself into the toy as its new brain. Jeff then began to take control of all the toy’s old outputs, some LEDs and a speaker. Amazed, I vowed to become as smart as Jeff Branson when it came to toy hacking. Before long, my vow would be put to the test, when SparkFun invited me to participate in a two-week residency in their educational makerspace.
Next Step: SparkFun Boot Camp Begins
Once I arrived at SparkFun, I had the wide world of Arduino ahead of me if I wanted to understand what Jeff had accomplished in my workshop. Day One of SparkFun boot camp I was handed a copy of The SparkFun Guide to Processing, which “teaches you to craft your own digital artwork and even combine it with hardware — no prior programming experience required.” Perfect, I thought — a textbook!
Normally a hands-on kind of gal, I spent the first two days of my boot camp mapping out pixel art, then coding it into various colors in Processing. I discovered that the guidebook was 100 percent self-directed. I was able to navigate my own lessons without bothering the SparkFun team too much with questions. My projects were simple, but empowering (see pixel rainbow heart). The good thing about Processing, Jeff argued, was that I was using a similar IDE, or interface, as the Arduino platform. By the end of my second day, I was primed to switch to the real Arduino interface and begin the project I had really come to do.
Thanks to $14 and a local discount retailer, I had my new textbook: a plush baby giraffe that played tonal lullabies when you pushed its belly. The first step of the new and improved PPC process was to re-create my own workshop. This involved doing careful observations of the outside of the toy, or architectural drawings of the toy, as Jeff had done. Doing this, I used spatial reasoning and slow looking to make a mental and physical model of my toy on paper.
Before taking my toy apart I had to engage in a second challenge related to computational thinking. Because I chose a toy that did something when you push a button, I wanted to make a map of what that logic looked like. Once the button was pushed, three glowing red lights would turn on and play music. I sat and listened to my toy play seven different lullabies before it turned off again. Once I had my toy apart, I then had to identify any new parts and their purposes. I combined all of these steps into one mental map (see below).
So far so good. In my first week at SparkFun boot camp I completed a re-creation of the majority of my workshop, learned some Processing skills, explored Boulder’s breweries, and became enlightened to the wonders of working at SparkFun technologies. My dog, Hank, definitely made himself at home at “BarkFun.”
By my second week, I was ready to rise to the level of Branson status and take on some harder problems. Harder problems required migrating the old parts of my toy over to a new programmable brain. The new brain would be the SparkFun RedBoard provided in my Tinker Kit. Not wanting to waste any time, I decided to try to use my old speaker, some new LEDs, a new button and my new brain to redesign my toy. I hoped to have the button cause the toy’s lights to fade on and off, as before, but instead of playing sweet lullabies, it would speak obscenities. If you are not a fan of such a juxtaposition, please read on.
As it turns out, the programming for this level of complexity is far beyond my crash course in Arduino skills. I was able to get the toy’s LED to fade on and off using a button push. Small successes. When I combined the fading light script with a very cool program by High-Low Tech that allows you to record three seconds of sound, my toy’s program stopped working as hoped.
In true life fashion, I ran out of time to work on my project at SparkFun, but I am leaving with not only my new set of tools, but with the ability to ask the right questions to tackle cool projects of this complexity in my future. In other words, I was empowered through my own failures because I was working in a safe, supportive, creative space with some of the smartest educators out there. Thank you, SparkFun, for making me, and hopefully in return the world, a little bit smarter!
Christa Flores began her career as a science educator for grades K–8 in 2001. Inspired by the maker movement in education in the spring of 2012, she co-founded the Hillbrook School iLab, a classroom designed for material and digital making in Los Gatos, California. Christa is a problem-based science facilitator, a model for sharing STEM literacy with an emphasis on material science, design thinking, working in collaborative teams, sharing work, and entrepreneurial electives. She is a passionate speaker and writer about student-driven learning spaces, the maker movement and designing curriculum that affords a diverse array of learning styles, cultures and ideas to be leveraged in the classroom and beyond. As a teacher researcher, she focuses on the design of meaningful making experiences for learners in formal as well as informal settings.