When my son first asked me to come and talk to his class about what I do, I thought it would never work. Explain Computer Science to a bunch of four-year-olds? How is that possible? And even if it's possible, how dull will I seem after Timmy's dad the dentist gave everybody toothbrushes and Sally's dad the archeologist gave them all fossils???
But then I started to think about it and actually get excited about the possibilities. I only had 15 minutes, so I didn't plan to teach them to program anything (although, apparently, there are programming languages aimed at the very young). Instead, I thought I'd engage them first by asking about all the fun things they do with computers and then introduce the binary number system in an interactive way. As a take-home trinket, they each got their own binary monogram bracelet and a card showing the capital letters in ASCII binary so they could decode their bracelets.
Feel free to use the following as a script, should you wish to do something similar:
First, I introduced myself as Mr. Pants's mommy and explained that I go to school, too. Did you know that adults can go to school?!
"I'm going to school to study computers," I said, "Who here has a computer at home?"
Everyone raised their hand.
"OK! And who knows what this is?" I asked, pulling my iPhone out of my pocket.
"That's a phone!" shouted several kids.
"A phone! That's right! But do you know what else it is?" I wasn't expecting an answer here, so I offered one pretty quickly myself, "It's also a computer!"
They stared at me.
"And who can tell me what kinds of things you can do with a computer or a phone like this?" I was expecting them to talk about games and movies, but most of them said things like "typing"! I recapped their answers and added the games and movies myself.
"So there's lots of cool things we can do with computers, right? But the one thing I want you to remember today is, that all the cool things a computer does… it's all done with math. The only thing a computer can do is add numbers together. It just does it really REALLY fast with lots and LOTS of numbers and that's what makes all the cool things happen on your computer!" Let that sink in for a second. "But you know what? It's even more amazing than that, because computers count in an even simpler way than we do. So, today, we're going to learn how to count like a computer."
"First, I know you guys all know your numbers, right?" I had made a stack of index cards with the digits 0 through 9 written nice and big, one on each card. I flipped through them in order and the kids counted with me, no prompting required. "So, now we've gotten to 9 — what's the next number?"
Of course, they all knew it was 10.
"That's right! But I don't have a card for 10. How do you write 10?" At least one child spoke up that it's "1 and 0".
"Right! But I can only hold one card." Clearly, not actually true, but they accepted this as the rules of the game. "So, Mr. Pants, can you come help me?"
He was thrilled and came to stand next to me. I handed him the "1" card. (Make sure the numbers are in the right order for the audience!)
"So, now we have 10! But it takes two of us to say 10, doesn't it? Now, we're about to find out that it takes a computer even more people to say 10, because computers don't have all these numbers, 2, 3, 4…" I flipped quickly through them and dropped them in my bag. If I ever do this again, I'll be dramatic and toss them over my shoulder. :)
"So now all we have is '1' and '0'," I held up the cards. "How high do you think we can count with just '1' and '0'?"
That was kind of a trick question, I know, and they fell for it. But that's ok, because… "Prepare to be amazed!" (I don't think I actually said that, but I wish I had!)
First, we started with '0'. Then '1'. "Now what do we do?! I can only hold one card and we're out of cards!"
I handed the '1' card to Mr. Pants and took up the '0' card again myself.
10 is binary for 2
"Two! This how your computer thinks 'two'!" I'll admit there were no immediate signs of recognition from my audience. But my goal was only to plant a seed, so I went on, "Now how do we get to three?"
I think one of the kids knew we should add '1' to '2' to get '3', but I was having a bit of tunnel-vision from performance anxiety at this point (silly, but you know how it goes) so I don't fully remember. The point is, it's fairly simple to see that I just need to replace my '0' card with another '1' card.
11 is binary for 3
"Three! And now how does your computer get to say '4' with only zeros and ones? We're all out of space, right? We're both holding '1's and we've got nowhere else to go!" I had my son pick a friend to come up and help us. The friend got a '1' card and my son and I both went back to '0'.
100 is binary for 4
"Four! This is '4' for your computer, but what does it look like to you?" They knew it looked like one hundred. "Exactly! Can you believe it takes this many numbers for your computer to say '4'? We can get all the way to a hundred in the space our computer needs to get to just 4. Pretty cool, huh? So, your computer can count just as high as we can, it just needs a whole lot of places to hold zeros and ones if it's going to count very high."
I stopped here with the binary counting, but I still had the kids' attention and I think going a number or two (or all the way to 8 and adding another volunteer card holder!) would have helped make the concept clearer.
With slightly older kids, I think it would be really fun to then say, "You know what? I bet we can count with no numbers at all!" Toss out all the cards and have the kids be on/off bits by turning their back to the class or covering their face for "off" (0) and facing forward/uncovering their face for "on" (1). Wouldn't that be fun once they got the idea, counting at a decent pace and having the kids flipping around in their places?! So fun. I so want to do that someday.
So, that was pretty much it. I passed out the binary initial bracelets we'd made, along with a decoder card. Several of the kids were very into it, figuring out which color in their bracelet was 0 and which was 1 and matching it up to the card. The teacher seemed pretty excited that they were catching on to the pattern/encoding idea and she also pulled out a dummy keyboard they have in the classroom to ask, "You mean, when we press this 'A' key, the computer is really storing those 0's and 1's like you have on the card?" Yes!
Really, it went very well. I am thrilled that I decided to do it and I feel good knowing that even if none of them remember any of the details, the first person (probably) who ever told them anything about how computers actually work was a woman (and a mother!). And I hope that my enthusiasm and directly connecting math with all the fun stuff you can do on your computer or on your phone will be a positive drop in the bucket of their feelings about math. And a positive drop in the bucket of their feelings about computers being something they can understand and learn to control.
Let me know if you ever want the file with the binary decoder cards. I'd be happy to send that along!