Last week I introduced my son’s third grade class to binary numbers. I wanted to build on my prior visit, where I introduced them to the powers of two. By teaching them binary, I showed them that place value is not limited to base ten, and that there is a difference between numbers and numerals.

My presentation was based on base-ten-block-like imagery, since I knew the students were comfortable expressing numbers with base ten blocks. I thought extending the block model to other bases would work well. I think it did.

## Introduction

Before my presentation, I put twenty-seven tape flags on the whiteboard, in an unorganized fashion like this:

(I would have preferred to use magnets instead of tape flags, since they would have been easier to move and align; but I didn’t have twenty-seven identical magnets.)

I started my presentation by telling the class that I would teach them about something called binary numbers, but that first I would review the numbers they already know — decimal numbers (I took a moment to explain that this was not the same as “decimals”). The first thing we did was count the tape flags, and as we counted together I rearranged them into a line:

I asked them how they would write that number. One student came up and wrote “27,” which is the first answer I expected. Other suggestions were Roman numerals (“XXVII”) and “twenty-seven,” also as I anticipated. One student suggested writing it in Japanese (I was expecting a foreign language, but Spanish: “veintisiete”). Some students suggested arithmetic expressions, like 20 + 7. One unexpected answer was from a girl who wrote it on the board in base ten blocks, which is how I was planning to rearrange the tape flags next!

I suggested tally marks as another alternative, and wrote twenty-seven in tally marks on the board.

## Decimal

I singled-out the answer “27” and said it is written in place value. I reviewed how the places were powers of ten. Then, as the class counted along to twenty-seven, I rearranged the flags into base ten block powers of ten groups, under headings labeled “tens” and “ones”:

We counted the powers of ten and wrote the totals in the blanks I drew below each grouping of blocks; we came up with the numeral “27”: two tens and seven ones.

## Quinary

I told the class that place value is not limited to base ten. I said, for example, you could write any number in base five, or quinary. (I wanted to take an intermediate step to binary, which is the simplest base, having only a maximum of one instance of each power.) I had them compute the powers of five from one to 625, and I explained that these are the places in quinary. I told them we would group the flags into powers of five. I wrote three headings on the board: “twenty-fives,” “fives,” and “ones.”

I asked “are there any twenty-fives in twenty-seven” and they said “yes.” We then counted out twenty-five flags, which I removed from the decimal grouping we’d just done. I built a block as we went, under the twenty-five label. Next I asked if there were any more twenty-fives in the flags that remained, and they quickly said “no.” They could also see there were no fives, and that there were only two ones left, which I moved under the ones label.

We counted the powers of five and wrote them under each grouping of blocks, coming up with the numeral “102”: one twenty-five, zero fives, and two ones. Some kids wanted to pronounce this as “one-hundred and two”, but I told them you pronounce it as “twenty-seven,” or “one-zero-two base five.”

## Binary

Now I said let’s look at another example of place value: base two, or binary. I said it is based on powers of two. We computed the powers of two from one to thirty-two (my son was rattling them off to 4096 before I could cut him off :)), which they remembered from my last visit.

We proceeded as above, except we pulled out the powers of two (from the flags in the quinary grouping): first we looked for sixteens, then eights, then fours, then twos, and then ones.

We counted the powers of two and wrote them under each label, coming up with the numeral “11011”: one sixteen, one eight, zero fours, one two, and one one.

## Number of Digits

When I was done with the tape flag examples, I took a moment to explain that base ten has ten digits, base five has five digits, and base two has two digits. As an example, I said that in base ten you could never have a 10 in any place, because that would be the same as a 1 in the next higher place. Similarly for base two, a 2 in a place would equal the next higher power of two, which also would be the same as a 1 in the next higher place.

## Other Bases

I told the class that you could write any whole number in any base. One kid asked if I could do it in a base that was greater than ten (I forget which base he used as an example). I said any number could be the base, but you’d have to have enough symbols. I briefly explained why you wouldn’t want a multi-digit number in a place (it would make the numeral ambiguous). I mentioned base sixteen, and said it uses the letters A through F for the values ten through fifteen. (I did not intend to get into hexadecimal, but hey, I wanted to answer the question!)

## Students as Binary Numbers

At the front of the classroom, just below the whiteboard, I arranged five chairs, facing the class. I wrote the names of the binary places above the chairs, left to right from the class’s point of view: sixteens, eights, fours, twos, ones. I got five volunteers to come up, and said that I would turn them into a binary number. I said if I told them to sit in their chair, they would count as a 0; if I told them to stand in front of their chair, they would count as a 1.

For my first example, I put the students in the pattern 11011, which the class correctly read as twenty-seven (they added the place values above the chairs of the standing students — that or they read the numerals I had left on the board under the tape flags :)). I did a few other examples like this, which amounted to binary to decimal conversion. They got them all right.

Next I did what amounted to decimal to binary conversion, asking the class how to arrange the volunteers to represent a given number. For example, when I said “nine,” they called out instructions to make the volunteers stand and sit to make the pattern 1001. They got all of these examples correct as well.

## Binary Counting

The above discussion took about twenty-five minutes, so with the extra five minutes I squeezed in a demonstration of a binary counter. I took a new set of five volunteers and had the class direct them through the sequence zero to thirty-one. We got through the count, but I think a few students got lost as some of the faster adders called out instructions. In any case, there were definitely some who understood the process, enough to know that when I asked them to display thirty-two, they said we would need another volunteer.

If I had more time, I would have done the count a second time, with the volunteers driving the counting; I came up with this scheme after I left the class:

- All volunteers start out sitting, representing zero.
- Whenever I say “count”
- The ones place volunteer does the opposite of what she is currently doing: if she’s sitting, she stands; if she’s standing, she sits.
- For everyone not in the ones place, if the kid to your left sits, you do the opposite of what you’re currently doing.

I think this would have made the counting easier and more fun.

(**Update 11/7/12**: I gave this presentation again recently — to fifth graders — using the new counting scheme. It did not go over like I imagined. The kids were confused about when to stand and sit, and weren’t having fun. In the future, I’d omit binary counting; in hindsight, it seems too “computery” for this context.)

## Binary Fractions

I mentioned briefly that there is an equivalent of decimals in binary numbers. Instead of the tenths, hundredths, etc. places there are the halves, quarters, eighths, etc. places.

## Discussion

I think most of the kids understood the presentation; certainly, they were all engaged. I’d like to think it gave them a better understanding of decimal, even if they didn’t understand the details of binary. I told them “you may not understand this now, but when you see it again someday, you’ll remember back to this day in third grade and it will come to you.” Someone then asked what grade they teach this in. I said it’s not really part of any particular math class (as far as I know) but that they would be taught it in a high-school computer class if they took one.

I used number words when I wanted to avoid writing decimal numerals; for example, when describing a number or when labeling places. Unfortunately, number words have decimal place value built-in, but that’s the closest I know how to get to a base-independent description of a number. That said, I don’t think the class recognized this, so I don’t think it caused any confusion.

I didn’t explain why we broke the numbers down by starting with the largest powers and working down. If I had more time, maybe I would have let them discover the algorithm themselves.

I use the term “number” when I really mean “numeral”, as in “binary number” or “decimal number.” This terminology is unfortunate, but it is standard.

## References

- Rick Garlikov’s use of the Socratic method to teach binary numbers to third graders.
I used a different approach, but a lot of the same concepts are involved. Rick’s method centered on binary counting, which lead to a discussion of powers and places. My method started with powers and places, and lead to binary numerals and then binary counting. Rick discussed other bases after discussing binary, whereas I discussed them before. Also, he discussed binary arithmetic, but I did not.

One thing I liked about my approach is that I built in the concept of base conversion, showing the equivalence of whole numbers written in any base. I also liked the way I exhibited the concept of “number vs. numeration.”

- Computer Science Unplugged Page on Binary Numbers.
This page contains videos on binary counting, which inspired my own binary counting demonstration.

- My article “How I Taught My Mother Binary Numbers.”
I taught my mother a little differently (at least in my second attempt), mainly because I think most adults don’t think explicitly about place value.

## Please Try This

I’d love to know if this method works for you; if you try it, please let me know!

What an awesome idea! What is a way they could utilize what they learned right after you teach them? Is there something online?

This is awesome. I teach 3rd grade math at an NGO in Brazil and will give this a try if I can!

@Ann-Caryn,

There is no applet online that I know of that presents you with a collection of objects and lets you rearrange them by base (sounds like a good project for one of my readers 🙂 ). As for general practice with binary/decimal conversion, check out the Cisco Binary Game.

Thanks for the feedback.

Good for you. Working with young people is really a treat. We have been teaching binary numbers and C programming to 7 & 8 year olds for a while. They are really easy to work with when the good teacher is at ease with the topic.

In reading what you have done I get that you are at ease. All the math I learned in school was due to the comfortable teachers I had. The two that I got not from were definitely out of their league.

Keep up the good work.

Pretty neat!

I like it… and learned a couple of things!

=)

One thing that got me confused is that the “Ones” column/position has more than one block per column, you have to count them vertically, on the other columns you can count horizontally.

@Diego,

I dug up my son’s old “Growing with Mathematics” workbooks to see how they do it (maybe I should have done that in the first place instead of relying on memory?). They place the ones both vertically and horizontally, so I don’t think that’s the problem. (I don’t think strict adherence to either vertical or horizontal placement necessarily scales to higher places — and higher bases — anyhow.) They key thing I think they do though is put more space between the ones blocks. As is, mine looks like an incomplete rod; I can see why that is confusing.

Here’s how I would redo the decimal diagram, for example, in Growing with Mathematics style:

Do you think that works better?

Thanks for the feedback!

I’ve learned another activity for students to be active participants in there learning process. Thanks!

I also taught Binary to third graders. I had them sort blue and white mancala beads into as many patterns as they could using exactly 4 beads (blue blue white white, blue white blue white, etc). Used the smartboard to further examine patterns in binary numbers. Brought in the binary clock – big hit. This was an enrichment lesson during my time unit. Kudos for thinking outside the box 🙂

@Lizzy,

That sounds like a good exercise. Did any of them figure out a systematic way to do it (wwww, wwwb, wwbw, wwbb, wbww, etc.) before you told them about the binary patterns?

I thought about bringing in my binary clock too — but I’ll be sure to do it next time.

Thanks for the feedback.

I hope some of you who are interested in teaching children about binary will have a look at funforms, a place order, binary, tally mark system. A narrated power point presentation is available at

http://www.authorstream.com/Presentation/joxl-1251628-funforms/

Comments appreciated.

@Joel,

It’s nice to see someone who’s been thinking of binary numbers almost as long as I have :).

Have you seen John Napier’s Location Arithmetic? Funforms reminds me of that.

An interesting article. I tried to teach different base counting to a group of year 4’s to support their learning of 5 digit numbers and what the columns actually mean. I ran out of time to get to binary. I had played with 21 as a number and had groups using connectable cubes so they could easily group.

I’d love to take it the other way and look at hexadecimal. I wonder if it would be possible to then look at how drawing software adjusts (mixes, averages, subtracts) colours depending on brush options.

Do you know if it would facilitate the comprehension of numbers to a children by teaching them first binary (around 4 years old) and then teaching them decimal (around 5 years old). I mean… do you think a young child could process and understand the basics of it? (for example you put 4 bananas on a table and ask him how many there are… then you tell him there is 100 and then count with him: 1-10-11-100!) because if a five years old child could understand those basics, a few years later he could even be able to count, add/substract, multiply/divide and even exponentiate mentally more than anyone! My point is that math is a language in the same way that English is one and if children could be mathematically bilingual the same way he could be directly, his mathematical development could be insanely boosted!

@Benjamin,

I agree that it is like a second language, but only to a point. Unfortunately, we don’t have words for binary numerals. We pronounce 101 as “one-zero-one”, not as something like “four and one” (or something totally new and not decimal number word based).

That said, I think there is great value in introducing another base, though probably after base ten. Like learning a second language makes you understand language better, learning another base will make you understand numbers better.

Then how about *inventing* systematic names for binary numerals, in the same way we invented the decimal ones? Here’s my proposition, from the top of my head:

Let’s say, we can read 10110 as deedodeedeedot :)The pattern is simple: 1 is the “dee” sylable, 0 is the “do” syllable. The ending “t” (unvoiced “d”) is just to mark the least significant digit, so that we can also express fractions this way: 101.001 is deedodeetododee. Or we could also stick with the unvoiced consonant for all the fractions to make deedodeetototee.

Although this is quite easy to read/pronounce, it is no longer easy to write, because the names get long. So I think a better option could be to something more compact, where we would not waste more letters than needed. The simplest conversion (a direct one) would be to replace every “0” with one letter, and every “1” with another, but there is a tiiiiny problem with it: consecutive 0s or 1s would then melt together in speech, making it difficult to distinguish how many of them is there 😛 Therefore we need to use syllables anyway, made of two letters: a consonant and a wovel. So we need at least *two* letters for each binary digit, which is not as compact as the binary numeral itself, but it is the best we can do, I guess. To make it less repetitive and easier to distinguish, we can use a different wovel for “0” and different for “1”, and the same goes with the consonants. In my native language, we pronounce the letter “i” as the English “ee”, so the {1=di, 2=da} notation is quite space-efficient and easy to pronounce & distinguish from hearing.

If we wanted something more compact, we could also try to join consecutive digits of the same kind somehow into one syllable, in groups of two, three etc., by changing the consonant that goes with it. One possible code could be:

0=da/ta, 1=di/ti

00=ba/pa, 11=bi/pi

000=ga/ka, 111=gi/ki

0000=va/fa, 1111=vi/fi

00000=za/sa, 00000=zi/si

So now we can name numbers more efficiently 😉 almost like abbreviating them through tetral and octal 😉 Some examples:

101101 = didabidadi

11100100001 = gibadivadi

0.1000010011 = tifatipapi

So we can see that the more digits repeat, the more space we can save through this “run-length encoding” scheme 🙂 Another possibility for the RLE is to double the number of repeating digits with each new code, which should make it even more space efficient in the long run (no pun intended, but appreciated 😉 ). I guess this could also facilitate mental calculations.

To facilitate learning this code, you can make diagrams like this one:

111 00 1 0000 1

gi ba di va di

and after a while your brain should pick up these syllables along with their corresponding bit sequences pretty quick 😉

For longer or more sparse numbers, like 0.000000000000000000001, it could become cumbersome to write down or pronounce them (sasasasati) 😛 so we can introduce something similar to the scientific (exponential / IEEE) notation by stating the mantissa and the exponent separated by some unique letter, let’s say “r”. Then, for the long number above, we can simply write down / pronounce the scale first (because it tells the most), then say/write “r”, and then write down / pronounce only the significant digits (“1” in this case), which gives: titatitatardi (1×2^-10100 in binary, or 1×2^-20 in decimal).

The system is so simple that I think it could be easily taught to a kid even before the decimal system (except the exponential notation, which could come later).

Have always been interested in teaching kids about ‘numbers to other bases’!

I think introducing binary, then hex, up front is helpful..since it quickly sends

out the idea of number bases with other than 10 numerals?

Then you can get right into it by showing how each 4 bit binary segment of a 16 bit binary word equates to each single hex digit of a 4 digit hex word:

1111 1011 0111 1001

F B 7 9

etc…this is solid computer lingo!

I’m in the process of compiling computer science lessons for teachers, and your lesson really helped me clarify language and methodology that children will understand. Thank you so much for sharing!

@Gwen,

I’m glad it was helpful.

This is some much more interesting and simpler than the lesson we use on our computer class with our 5th graders. They glaze over after 10 minutes. I was looking for more interesting material for them. I will definitely try this this year.