Saturday, November 16, 2019

How We Earned the Cadette/Senior Programming Robots Badge

I have a Girl Scout Cadette and Senior, which is not as convenient as when I had two Cadettes. That one year that I had two Cadettes I got VERY used to leading the exact same badge at--gasp!--the exact same time... and then Will had to go and Bridge to Girl Scout Senior and mess up all my efficient, efficient lesson plans.

Tangent: I LOVE having my kids earn retired IPs for the very reason that IPs are CSA level so I can still lead the exact same badge at the exact same time--bliss! Same thing with fun patches that have requirement to "earn" them; we do a lot of those (Hello, Wildflowers of Ohio!).

The kids now mostly earn badges separately--Syd just finished earning the Cadette Digital Movie Maker badge, entirely independently!--or, call the Badge Police because I'll have Syd earn Senior badges along with Will, the brand-new Girl Scout Senior Outdoor Art Expert badge that they both now proudly wear being my case in point. But I've also found that many of the newer Girl Scout badges are so closely aligned that I really could lead Syd through the Cadette Programming Robots badge at the same time, and with many of the same experiences, as Will had when I led her through the Senior Programming Robots badge.

And so that's what we did! Both kids did all of the activities, even if one was specifically a Senior requirement or a Cadette requirement, and because I also used this as a homeschool STEM study, I added in a LOT more content. In fact, Will is using our work for the three Senior Robotics badges as the one-credit course, Topics in STEM: Robotics and Programming, for her high school transcript. If she adds on the Senior Coding for Good badges, or the Ambassador Think Like a Programmer Journey this summer (which she might!), I'll add to this syllabus and boost it up to a two-credit course.

Cadette Programming Robots Step 1/Senior Programming Robots Step 1: Learn about robots. 

For this step, I lectured the kids about the Sense-Think-Act definition of a robot, and had them do some additional reading, in particular Chapter 1 I'm about to start with the Amazon Affiliate links. If you click through to Amazon using one and end up buying something, Amazon does NOT charge you anything extra, but sometimes they pay me 1.5 cents every year or so of Robotics: Discover the Science and Technology of the Future. This book is a little young for a Cadette and a Senior, but I often use nonfiction books below the kids' reading level to introduce brand-new concepts. Do the easy book first, then some hands-on stuff, then some harder books, and then you're really off and running.

So after the easy book comes some hands-on stuff! Throughout this study, we did a LOT of hands-on work with machines and devices of all kinds, both robots and non-robots. These are the spines of our study as much as the Programming Robots lesson outlines in the Girl Scout Volunteer Toolkit are.

And yes, the idea of having multiple spines renders the metaphor nonsensical, but I can't think of another way to put it!

In Step 1, then, I introduced these two machines to our study:

Welcome, Sphero and Bee-Bot!

Here's another tangent: out of all the many robots and devices and machines and circuits that we used in earning this badge, the only thing that I had to buy was, of all things, the syringes and tubing to make the least sophisticated piece of equipment in the entire unit, the cardboard hydraulic arm. Bee-Bot, Ozobot, and the littleBits came from the IU Library, we already owned the Snap Circuits, Sphero came via a grant from the Civil Air Patrol, and a publicist sent me the Micro:Bot for free to review. It takes a village to raise a robotics engineer!

With their knowledge of Sense-Think-Act, the kids were then tasked with creating diagrams to show how Sphero and Bee-Bot embody the three-part definition of a robot. I sat back and waited for the inevitable moment when the kid assigned to Bee-Bot began to struggle. It went something like this:

"Umm... I don't think Bee-Bot has any sensors."
"I think you're correct."
"But how can it be a robot without sensors?"
"You tell me."
"............. it's not a robot?"

And there we have our first big revelation, and the lens through which the kids viewed the entire rest of our study: What is the difference between a robot and a non-robot? What can you add to a non-robot to make it a robot? Are there times when a robot turns into a non-robot?

Having some guiding questions makes the study more interesting, meaningful, and memorable.

After the kids had presented their diagrams, this is another easy nonfiction that reinforces the definition specifically with Sphero. If Sense-Think-Act wasn't crystal clear before, it will be after this book!

On another day, I gave each kid one of the Robot Challenge Cards from the Volunteer Toolkit. Each kid had to brainstorm the characteristics that a robot would need to meet each challenge, and then they had to research online to find a video of a real robot meeting their challenge. Syd's challenge was a robot that could teach preschool children, and she found this video of engineers figuring out how to develop a robot that can assist teaching children a foreign language:

Part of our discussion of this video is that the robot doesn't really seem that great, but engineering is a process, right? You might have your dream list of what the perfect robotic preschool teacher would do, but whatever that is, you've got to start with this goofy little dude.

Will liked her real-life delivery robot a lot better:

It really did almost run over that dog, though.

After this lesson, since we'd been talking more about design, I assigned the kids Chapter 2, "Housing: Robot Bodies," in Robotics: Discover the Science and Technology of the Future.

Cadette Programming Robots Step 2: Build a robot part: simple sensors

After a lecture on circuits, here is where we began to play with littleBits! littleBits are absolutely astounding, I can't say enough about them, and the kids LOVED them.

I wrote about how we used littleBits here, including learning how to assemble a circuit, building several circuits and diagramming them (including both kids' favorite game called Build the Most Obnoxious Circuit Possible), and learning about and then building logic gates.

On a different day,  the kids built a littleBits circuit that utilized a pressure sensor, and then used the instructions in the Volunteer Toolkit, along with an LED, copper tape, and paper, to build an old-school paper model of a touch sensor. Because littleBits are great, but you've also got to know how to muscle a circuit together with old Christmas lights and craft supplies, don't you know?

Cadette Programming Robots Step 3: Build a box model robot with sensors.

For this activity, I gave each kid a small cardboard box, then put her in charge of building a model of a robot that could perform a specific task or solve a specific problem. The model should show a working example of at least one sensor that the robot would utilize. Will made a pretty good stab at creating a perpetual motion machine by building a littleBits circuit that connected a sound sensor with an effector that made noise, and Syd tried to figure out how to broadcast instructions over the radio to an effector in a different room so she could prank someone.

Each robot's task, clearly, was to be as obnoxious as possible!

On another day, I had the kids practice making even more sensors using Snap Circuits. I thought the kids would be interested in using the instructions to create more complicated circuits than they could figure out with littleBits, but again, they mostly tried to make obnoxious things. At least they have a shared mission!

Senior Programming Robots Step 2: Build a robot part: robot arm.

Matt helped the kids build a working model of a hydraulic arm out of cardboard Girl Scout cookie cases (of course!), syringes, and tubing. It worked, but even though Will spent a lot of extra time troubleshooting and problem-solving, she never could get it to work perfectly, and it's definitely a project that I'd be interested in trying again sometime.

Perhaps when Syd earns the Senior Programming Robots badge!

Senior Programming Robots Step 3: Learn how robot systems work together.

For this step, the kids used the micro:bit and micro:bot kits that we were given by a publicist. The kids worked together to build an ArtBot and troubleshoot it to do what they wanted it to do--

--which is apparently draw endless circles, lol. But, hey--that's the task they wanted the bot to perform!

On a different day, the kids made a list of all of the robots and machines and devices that we'd handled so far during this study, and I tasked them with 1) organizing the five main parts of a robot within the three-part definition of a robot, and 2) identifying and organizing all the parts of every device we've explored to fit within those labels and definitions. So the kids had to not only figure out if, say, a robot's housing is part of Sense, Think, or Act (it's part of Act), but also what each device's housing is. Housing is easy, but effectors were a little harder to pin down sometimes, and the sensors actually gave the kids the most trouble, especially with Sphero. Syd was stumped for a while, for instance, about what kind of sensor Sphero's gyroscope could possibly be. I mean, sure, it's what keeps Sphero upright, but how is that a sensor?

To get past that, it can sometimes help to figure out if there's a correlating sensors in humans. Syd decided that, yes, humans can also keep themselves upright, and that's because they can feel gravity. We may use our inner ear bones instead of a gyroscope, but they're both sensors!

And then Syd had a lightbulb moment about robot sensors/human senses, and I was proud.

Syd was in charge of all visual displays for their STEM Fair presentation, so here are some of her displays of the identification and categorization that the kids did:

Micro:bot is a special case; its controller does have the components to add sensors to, but this wasn't utilized for ArtBot, which is technically what the kids were evaluating:

This way of categorizing makes it really easy to see which machines are robots and which aren't.

Cadette Programming Robots Step 4/Senior Programming Robots Step 4: Learn about programming.

By this step, both kids HAVE done plenty of  work programming, but we haven't explicitly studied all that entails. That deficit ends now!

I gave the kids the Robot Task Sheets from the Volunteer Toolkit and asked each kid to choose a robot task, brainstorm everything that they thought a robot would need to be able to complete that task, and then research videos of real robots completing that task. Syd chose a robot that could sort building blocks, and found several good videos of robots trying this:

I especially like that she found videos of very different robots completing this task in very different ways!

Will struggled quite a bit to find videos of a robot that could change the batteries in a flashlight, so I suggested that instead she find examples of robots utilizing fine motor skills to perform specific tasks. And then she found us this video, which is the BEST ROBOT VIDEO EVER:

It's possible that we watch this video every day. It's VERY relevant to our robot study!

On another day, I gave the kids a lecture on computer programs and algorithms, and made the kids do the exact same funny as hell activity that I remember doing at Syd's age in my junior high computer class. You know, the one taught by the basketball coach who'd rather be on the basketball court than in the computer classroom with a bunch of nerdy nerds? Yeah, that class.

What you do is tell the kid to write you step-by-step instructions for doing something simple, like picking up a book and putting in the table or walking across the room and sitting in a chair. Then, the kid reads out the instructions, and you perform them in such a way that every single logical flaw is pointed out in humorous detail, to the kid's frustration and outrage. Syd could NOT BELIEVE that I wouldn't pick the book up further than a half-inch without an explicit instruction, and she got so mad when she finally wrote instructions detailed enough that I picked the book all the way up but then just dropped it again--LIKE SHE TOLD ME TO.

It was awesome.

She only forgave me later when Will was around and I gave Will the same assignment, then assigned Syd to perform Will's instructions. Syd already has the superpower of taking every single dang thing as literally as possible, and Will could not even get Syd up off of the dang couch no matter how hard she tried. At one point Syd did roll off the couch at Will's instructions, but then just lay there twitching and Will could not, for the life of her, figure out how to get her on her feet.

After that, programming the Ozobot Bit was a cinch!

Here's all the work that the kids did with Ozobot Bit for this badge step. They had a LOT of fun with it, and it was a refreshing change of pace from some of the other hard-core builds that they'd been doing.

We did a lot, lot, LOT of work with this badge step already, but nevertheless, I wanted the kids to have some more time exploring the Scratch programming language. They'd been using block programming for micro:bot and Sphero quite a bit by this time, but there's much more than that to do with Scratch, and it's nice to get a chance to really dive into what it can do. So on a separate day I gave each kid the independent assignment, as part of that day's schoolwork, to spend some time on Scratch playing and programming. The kids used to be really into Scratch, so this was a fun assignment and many little animations were made.

I also had a lot of books on hand in case either kid wanted inspiration or step-by-step instructions:

Cadette Programming Robots Step 5/Senior Programming Robots Step 5: Write a program for a robot.

The secret that I kept from the kids is that they had already completed this step several times over, mwa-ha-ha! But since at this point we were preparing in earnest for the upcoming STEM Fair (during which the kids would complete several steps of the Showcasing Robots badge for their levels!), I wanted them to have a workable program for each of the robots and machines that we'd been studying so far. Over the course of the unit, they had created a complete, workable program for micro:bot and Ozobot Bit, but had mostly explored and played with Bee-Bot and Sphero.

Therefore, the kids' assignment for Step 5 of the Programming Robots badge was to write and troubleshoot one program for Sphero and one program for Bee-Bot. Here's the specific assignment and the work that the kids did with Bee-Bot. The kids demonstrated their programs for Bee-Bot and Sphero at the STEM Fair, although most of the kids found it more fun to use Sphero with the remote control than with a program:

And to be fair, controlling Sphero by remote control is MY favorite thing, too!

And that's Programming Robots! We'll be working through the Cadette/Senior Designing Robots badge next, while simultaneously completing the remaining steps of the Cadette/Senior Showcasing Robots badge as we come across the right opportunities. Our only deadline is October 2020, when both kids Bridge and instead of a Cadette and a Senior I'll have a Senior and an AMBASSADOR!!!

Here are some of the other resources that we used with this unit of study:

P.S. Want to follow along with more of our Girl Scout hijinks and sneakily educational activities? Check out my Craft Knife Facebook page!

No comments: