I'm teaching some introduction lessons to a classroom of 6-8 year olds about basic 21st century skills. A fundamental part of this is how computers represent numbers, words and images, which all starts with understanding binary representation of a number.

When explaining this in the past, I have never not confused anyone with notation. For example trying to explain the difference between '11' (binary) and '11' (decimal) is hopelessly confusing because it looks like the exact same thing, and saying 'one one' almost always leads someone to think 'well one plus one is two, what is this dude going on about it being 3'.

I think the problem is that we use the same symbol for decimal and binary notation here, while there is not strictly a reason for it (it's convenient if you already know how it all works, but not before that).

So I'm thinking of using different symbols. Like ● for 'this bit is on', and ⊗ for 'this bit is off', so that I would write e.g.

3 = ●●

and

5 = ●⊗●

Any ideas on this? Would this help? Are there already other symbols being used for this purpose, symbols that don't rely on the glyphs we use for 0-9?

  • 1
    Excellent first question here. Welcome to Computer Science Educators! – Ben I. Nov 2 at 13:49
  • 1
    number is not the foundation of all of the other stuff. It is just on interpretation of a sequence of bits. It is no more real than any other. Therefore consider starting at some other place. – ctrl-alt-delor Nov 2 at 16:52
  • 5
    I'm not convinced that understanding base two numbers is a "basic 21st century skill." It is an essential thing to know if you want to understand how electronic circuits can perform mathematical and logical functions, but you can write an awful lot of computer software these days without even having a strong understanding of base 10, let alone other place-value number systems. – Solomon Slow Nov 2 at 21:34
  • 3
    If you talk about 11 and 11 with grownups who are math literate, there will still be confusion. You need an indication of the base if you're mixing bases: a little subscript b or d or something: $11_b$ versus $11_d$. – Kaz Nov 3 at 3:55
  • 4
    Additional thought: how many working programmers need to write 'sort' algorithms today? Yet one of the most basic 'CS unplugged' (i..e, without using any electronics) exercises is to get a group to devise an algorithm to sort that group from shortest to tallest. It's not about job skills, it's about conceptual understandings how things work. Another: how often do people today open up their computers? Yet letting them unscrew a case and look inside is very illuminating, when you can point to various components that together make up a von Neumann architecture (even if you never use that term). – Roel Nov 4 at 12:42

16 Answers 16

Use money. Tell your students to image a country has bills that are in denominations of powers of 2: 1, 2, 4, 8, 16.... Now tell them this: For a given number, count out that money with as few bills as possible. You use a "greedy algorithm:"

  1. Use the largest bill possible.
  2. Repeat this until you have counted out the amount.

Questions to ask:

  • Did you ever use more than one bill from any denomination?

They should observe this is never necessary.

Now write a 1 for the largest bill. If the next denomination down is not present, put a 0; otherwise, put a 1. Repeat until you descend through the denominations. You have the binary expansion of the integer you specified.

This is concrete and very easy for students to grasp. This "greedy algorithm" works for any base: Use the largest bill you can can count out as many as you can at each stage.

  • 2
    Thanks, yes this seems like a good way to go in terms of giving someone an algorithm to do conversions. I'm not convinced though that it's a clear way to explain the concept of there being different number bases at all, since I would still be talking in terms of 'count out 6' or 'count out 13'. But still, I am going to try to work this into my preparation. – Roel Nov 4 at 12:29

Just to calibrate expectations: at the lower end of that age range, the kids will have only just started learning about the place-value system in decimal. I wouldn't try to leverage knowledge of things like "carrying" in decimal over to binary.

My own kids are at boundaries of your age range, and in first and second grade they use things like "tens frames" and "hundreds frames". You might consider making twos/fours/eights frames or perhaps better: blocks, $1\times 2$ joined block pairs, $2\times 2$ squares of joined blocks, and $2\times 2\times 2$ cubes of joined blocks. Then show them (or let them explore) how you only ever need at most one of each block type to make a number. Binary then just consists of a table of the number of each block type that you used.

  • 1
    My children are 5 and 7, so they will be my guinea pigs :) Part of the challenge is that this is for a Montessori school with so-called 'vertical groups', i.e. children of ages 6-8 are in one classroom (so are children 4-5, and 9-11). So I might need to differentiate the material a bit for various sub-groups. I don't quite understand what you mean by 'tens frames', can you elaborate? – Roel Nov 4 at 12:31
  • Tens frames are size 10 grids (usually $2\times 5$) which the student fills in to visualize counting up to 10. The following PDF is a good description and has a link to youtube which is even more thorough: ru.ac.za/media/rhodesuniversity/content/sanc/documents/… – Adam Nov 4 at 12:59
  • 1
    Oh I see, it's an interesting concept, and one I think would adapt well to counting in various bases. I will talk about this with the teachers, see how it fits within the overall pedagogical math framework they use; I don't want to get in the way of how they teach basic counting, of course. Thanks! – Roel Nov 4 at 13:41

At that age, I would skip binary notation entirely and focus on combinatorics problems (simple ones) whose answers are most clearly understood as combinations of powers of two.

Any combinatorics (counting) problem where the full set of answers can be systematically written down by hand, and then counted, is the most appropriate. Or if it can be physically constructed, that's even better than being written down.

For instance, someone else mentioned colored beads. That's great. So get some actual beads, red and green or whatever, just two colors, and sit the student down and ask, "How many different patterns of three beads in a row can you make with these?" Of course they'll eventually come up with the answer "8," but it may take them a while to get there.


When you consider it in depth, the fundamental reason why binary notation is useful is because it naturally represents the answers to combinatorics problems involving two possible states. If our computer systems were to have three possible states rather than two, then ternary notation would be a more natural system for representing computer data.

From that standpoint, introducing combinatorics first before discussing notation is simply a single instance of a more general teaching philosophy I follow: in particular, that the formulas or notations must come after the underlying reasons why they're important to know.

This principle can be sloppily summarized as "motivating examples" but that loses a lot in translation; really what I'm saying is to "Form patterns of computation in the individual with regard only to their usefulness." Binary notation is useful, but it's more important to lead the student to realize that for himself or herself, than it is to teach it as a rote pattern.


The keynote with regard to conveying that "1001101" can be used to represent the same quantity as "77" is to start with the meanings of those symbols, and worry about the actual symbols used later on. This could all be done in one short tutoring session so long as the student's mind is coaxed into action rather than passively recording the information that you're "teaching."

I would have the student choose his or her own symbols to use. They're completely unimportant, so don't let the student get hung up on them. I might start out by using stars and diamonds, just to make the point. Those are obviously inconvenient to draw. So then we might switch to circles and squares at the student's suggestion. And then squares and circles, just to switch things up. And then I could switch us to minus and plus for a minute or two, and then tell the student:

So you can see it doesn't really matter what pictures we use or what we draw, what matters is that we have two of them, and that we've decided which of the two comes first. You can use anything you like and you'll still wind up with the same answer, 8, when you list the possibilities out and count them up. But the pictures that we usually use, so other people will understand our list also, are just "0" and "1". And 0 comes before 1, so then our list would look like:

000
001
010
011
100
101
110
111

Then you can number the list "1" through "8" and the connection should come pretty quickly, at least with an 8 year old. (A 6 year old I would do the same thing but not try to teach actual binary numbers.)

  • 2
    Interestingly, tertiary computers were built. They did have advantages, but the problem was that because of the way they were built, using the exact same hardware and removing a piece gave a quaternary computer...aka binary computer with double the bit resolution. – Draco18s Nov 5 at 15:42

I was going to start by asking what was wrong with $11_2$ and $11_{10}$, and then I noticed the ages you were referring to. Six year olds!

First, a bit of frame-challenging advice: I'm not sure that counting in binary is what I would focus on at that age at all. You might have better luck with finite state machines, which are great CS concepts that you can play lots of physical games with. You can put states on the floor and have kids jump around, or you can have kids pass picture-notes to one another based on state and observe the results. You can even have them try to draw out simple machines by watching behaviors of other kids acting out your "script".

However, if the goal really is binary counting at 6-8 years old, I would start with symbols like "•" and "◦", or even start with symbols like

□□    □    
□□    □    □    L    |

... using "count the lines" as a property, and then extend that to dots, so

□□    □    
□□    □    □    L    |
•     ◦    •    ◦    •

... becomes ...

□□         
□□         □         |
•          •         •

... becomes 21. And only when they're familiar with the dots, at the very end of the lesson, I'd get into something very silly that people do with this system! They use 1s and 0s for •s and ◦s! If the kids laugh, then your joke landed, and the kids will be beginning to see.

Then see if they can connect 10101 with

□□         
□□         □         |

Good luck!

  • 1
    I always wonder what number-base should the subscripts be written in. – ctrl-alt-delor Nov 2 at 16:56
  • 1
    The subscripts shouldn't be numeric. They should be b and d. Binary and decimal. Or else the word $1011_\text{two}$, $123_\text{ten}$. Of course, if they are numeric, they must use some common understood base (like ten); if they use the indicated number's own base, it will always uselessly be "10". – Kaz Nov 3 at 3:59
  • 1
    @kaz if the preferred system is a single letter, how would you deal with duodecimal? I could accept using the full word, but there is no advantage there to the digits, as the full word is also in decimal. – Ben I. Nov 3 at 15:38
  • 2
    I wasn't sure about whether this would be suitable for this age either, but I'm working off a curriculum set by the Dutch association for primary education who put this material with this age bracket, so I'm just going with it. The more I get into it though, the more I start to see how this is basically a launching pad for tying together other things - like how do you represent 'strings' when all you have to work with are numbers (and base 2 numbers for that matter), or even higher level concepts like 'video' or anything else that can be represented by computers, really. – Roel Nov 4 at 12:39
  • @Roel That representation issue was a massive elephant in the room to me for a very long time, well past the point that I was writing commercial code. You should work it into a new question... – Sean Houlihane Nov 5 at 10:27

We made bracelets in APCS Principles (9th - 12th grade). I bought a bunch of blue and white (school colors) beads. Blue was on, white was off. They then made bracelets of their names or initials using 5 bits. A was 1 (w-w-w-w-b), B was 2 (w-w-w-b-w), etc.

Kids seemed to enjoy it, and I caught a few wearing their bracelets walking around the halls days later.

My own kids, 6 and 9, came in after school and saw the beads and wanted to make their own bracelets. By the time they were finished the 9 year old had made 6 or 8 bracelets for different friends and was going to explain how they worked the next day at school.

Only thing I'm planning on changing for next year is adding a different bead color to represent the start / end of the string.

  • I'm working off a curriculum, proposed by what is essentially 'the Dutch association for primary education', and they have an exercise in making bracelets. I was a bit hesitant about that though, representing essentially 'something' and 'nothing' with two color, but when I think about it, it's no worse than using the symbols I described. So in your experience, children were able to make the link between the concept of an 'on bit' and 'off bit' and the colors quite readily? 9th-12th grade, that is ages 8-11, right? – Roel Nov 4 at 12:36
  • 1
    9-12th is students 14-18 years old. The activity came from CSUnplugged, and was meant for younger students, but worked pretty well with the older students too. – Ryan Nutt Nov 4 at 12:40
  • I've made bead necklaces using Morse code. It was easy to read them, just sound it out in my head. – Scott Rowe Nov 5 at 20:59

The way I got my kids interested in binary representation was to discuss up to what number they could count on one hand. Learning they could count up to 31 and then understanding why, made the trick. You can then impress them yet again when you show them that with ten fingers then can count to 1023.

  • 1
    Just be careful showing some of those numbers. – Scott Rowe Nov 5 at 21:07
  • 1
    Indeed, there was some giggling with "four". – Martin Argerami Nov 5 at 21:54

Sometimes light bulb on/off symbols are used, and in fact if you show a real circuit with a battery, a switch and a light bulb before you start teaching binary numbers you could explain why the computer needs just two symbols to count.

Anyway, as a personal recollection, I learned binary on my own thanks to an 80's version of this toy: https://www.youtube.com/watch?v=EM_-APWFX2s

  • 2
    That is a really cool toy, I now have to order this :) Thanks. – Roel Nov 4 at 12:49
  • 1
    By the way, "rami" is Italian for "branches" – totera Nov 4 at 18:52

Please see the note in the last few paragraphs for an important caveat.

Before you get too deep into this, you should look at the work of Piaget. For example: http://alumni.media.mit.edu/~stefanm/society/som_final.html. Note that children of that age have almost no ability to do abstraction and won't for several years. Whatever you do has to be very concrete.

For a wider discussion, see: https://www.verywellmind.com/piagets-stages-of-cognitive-development-2795457.

In particular, while symbols can be meaningful to them, they are still likely pre-operational.

You might also think about contacting a local Montessori school to see what goes on there with students of that age.


Note, of course, that the reason that they can't grok using old symbols for new ideas is, precisely, the lack of abstract thinking ability. Catch them again around age 12 or so.

So, thinking a bit more on this topic, let me suggest that introducing new symbols might be counterproductive. They may get the idea firmly embedded in their minds that you are teaching them things that are important and should be retained. Then, in junior high or so, they will have to unlearn what you so carefully taught them. In my view, it is a serious error to teach people things they later need to unlearn/forget/ignore/reject.

I once had a college student who couldn't grasp the idea of operator precedence. It turns out he was taught the wrong rules in HS and internalized them deeply. He couldn't understand why his Java programs didn't work correctly. His earlier teacher was highly respected so he fought me rather than learn the correct rules. He though I was lying to him that Java performed multiplications before additions rather than strict left to right evaluation of all operators.

I'm starting to think this may be a minefield best left unexplored.

  • 1
    Actually, this is at a Montessori school. I'm working with a few of the teachers who want to incorporate some of this into their curriculum, although me, I'm just a dad who is doing one or two short introduction sessions, as a way to explore where to go from there. Montessori actually has a system with beads (and 'sticks' which are 10 beads, and 'plates' which are 10 sticks) to teach about the importance of the place of a digit in a number. I'm hoping to find a way to tie in with that. – Roel Nov 4 at 12:47

An example from Basic Computing book is coming to my mind here: Suppose you have some torches or light bulbs and want to convey a message using the combination of those bulbs/torches/LEDs.

I can understand that this example can still be bit too much for 6-8 years old, but you can make it a fun activity for them by giving them torches and give them some examples to work with.

Maybe you can use some cartoon characters pairs: Tom or Jerry, Buggs Bunny or Daffy Duck, etc. (unsure whether kids watch these classic cartoons anymore, so you can find a more relatable cartoon pair) or maybe some example from basic technology (Our 6-8yr old these days are pretty good at basic knowledge of mobile phones, TVs, etc.)

Having said this all, I confess its not easy to convey it all to kids who have just begun the decimal system. The first time ever I heard of binary (it was part of text) was at the age of 12 and even then, I couldn't grasp it too quickly. I feel for the kids if they are being asked to perform the binary arithmetic as well.

  • It looks like you chose torches out of 'em all... I think you're going to be very responsible in front of kids. :-P – EKons Nov 4 at 21:25
  • @EKons Lol I haven't ever taught the primary school kids but LEDs are safe ;) – Failed Scientist Nov 5 at 14:48
  • No, the joke is that I meant real torches, i.e. fire-powered... – EKons Nov 5 at 15:00
  • @EKons, in British English, "torch" simply means "flashlight." – Wildcard Nov 5 at 23:26
  • @EKons Yeah I did get you there. Reminds me of a student who ignited fire crackers in evening school back in my college days – Failed Scientist Nov 6 at 3:46

The largest problem is probably trying to sell binary code as a number system, particularly in this age group. As some other answers suggested the combinatorics aproach is probably the way to go. I would even stay away from 0s and 1s because that already has another meaning to them.

I also think that the beads is a good starter to first give them a grasp of how the number of possibilities in which to order them.
My idea would be a game where 5 kids are sitting in a row. This is basically the second phase after the beads. Each of the 5 kids has a number assigned in the order 16, 8, 4, 2, 1. Then the class is asked for a number between 0 and 31. If it is 21 the procedure goes like this. The first kid just has to check if his number fits into the target number. In this case it does and he stands up, the next one (or the class) has to now check the difference 21-16=5. Again check if the nummer fits, which it doesn't, and the kids remains seated and might say "done". The next on fits again and get's up, leaving a remainder of 1, kid no. 4 remains seated and kid no. 5 gets up for that remaining 1. This could be written to the board as 21 = +o+o+ or filled an empty circles or the class can be asked which symbols they would prefer. u and d might also be intuitive for up and down.
There can be a few examples, eventually well picked neighbouring numbers to show a flip of 2 adjacent positions.
If it goes well up to that point you can even count up, but as a teacher you should be familiar with that, so that it goes right and the system is applied correctly. To explain what I mean it should go like this. Right kid gets up "one", first kid down and second up "two", first kid up "three", first and second down and third up "four" ... Imagine the power of for example 8 when 3 kids sit down and one gets up.
To finally close the bridge to a general application of this you can explain that the same can be done for the alphabet and instead of counting up numbers you can also count up letters.
It is possible that 31 is a bit high for 5 year olds for the calculation part. The good part is the physical involvement, which I think is a useful tool to enter their brains.

What also just came into my mind is Morse Code, which is also somehow binary in using short and long sounds. But I really have no idea if kids today know anything about it and if this would be a useful tool. Maybe a question to the class might give some feedback in that regard. It could also be mentioned on the side in a few explaining sentences.

  • I wonder about extending this to show how 5 beads and 5 boxes are enough to represent any letter of the alphabet (or a variation on that), but I have no idea how accessible this would be to the audience. – Sean Houlihane Nov 5 at 10:31

Your students already know what 1 and 0 mean, and those meanings are applicable to binary arithmetic. With different glyphs, your students will have to mentally decode those glyphs into 1s and 0s in order to understand what you are saying, so it will be harder to understand than it should be.

Also, ⊗ looks a lot like ⊕, which could get confusing later if you want to discuss Boolean logic.

I suggest representing the radix with parenthesis and subscript eg $(10101010)_2$. Or use the binary literal format of a modern programming language eg 0b10101010. These make the radix unambiguous without confusing your students.

I once saw how my brother had figured out binary numbers (many, many years ago) and it seemed just so intuitive! And I figured out an even better way of showing it.

You've no doubt seen mechanical counters. Like this:

Mechanical counter

In the counter you have multiple rolls with digits on them. When the first roll completes a full circle, the second one moves ahead by one. Etc.

Binary is the same, except instead of 10 digits on each roll, you have just two. But counting still works! There are even some videos on YouTube where someone has made a mechanical binary counter.

I would start by reviewing how the mathematics curricula explains the numbers to these children.

I have been surprised in the past when looking at education books of young children that when teaching numbers, they explained bases! There is a lot of counting numbers as X hundreds, Y tens Z units, using colored stickers for each position, etc.

Then you are never again asked to write 123 as 100 + 20 + 3.

However, when having to learn binary or hexadecimal, that's exactly what you need to do, realize that 123d is just 1×10² + 2×10¹ + 3×10⁰ and 123h will be 1×16² + 2×16¹ + 3×16⁰, and so for any base.

So, start by checking how they are|will already learn the numbers and see how to make binary encoding fit into them. If a yellow dot will mean tens, use yellow for 2, not for 8 (maybe with an extra symbol to mean binary), etc.

The curricula will vary a lot between places and editions, and this may not be applicable to your specific case, but I think it's important to adapt to how they are learning the numbers (or will learn them later) so that they can learn the concept as the one thing it really is, instead of being taught by different people as separate and unrelated things.

I think the biggest piece of confusion comes from the words representing quantities; in particular, the word TEN.

If you disassociate TEN from the quantity that represents the number of your fingers, and instead frame TEN as word noting when it's time to "start over" with a new quantity set, you are more than halfway towards your goal.

And before you get to binary, and to reinforce that "TEN" is just a word representing a quantity, I'd instead focus on teaching Octal. Once your students can get used to a number system where you skip the "words" EIGHT and NINE, your students will be more able to wrap their brains around binary.

You might introduce the Octal system by way of frogs since frogs have 8 toes total on their front legs. That's to say what would the number system look like if it were created by frogs (8 instead of 10 digits)?

An interesting dynamic also for frogs is that there are 10 toes on their back legs. Perhaps an interesting story could be derived from this where frogs find themselves having to switch between the Octal and Decimal system.

  • 1
    It is said that if you ask a horse to count to 10 by stamping a foot, you hear "stamp, stamp, stamp, stamp". – Buffy Nov 5 at 20:55
  • Rabbits count One Two Three Many (from Watership Down). – Scott Rowe Nov 5 at 21:11

I'm teaching some introduction lessons to a classroom of 6-8 year olds about basic 21st century skills. A fundamental part of this is how computers represent numbers, words and images, which all starts with understanding binary representation of a number.

...

So I'm thinking of using different symbols. Like ● for 'this bit is on', and ⊗ for 'this bit is off' ...

-- Roel

My son just turned 8 and I've run into this same problem many times. I've found it an interesting and rewarding challenge to try to explain concepts without getting too deep into technical details.

For my son, (and even many adults) I've found it extremely valuable to not talk much (if at all) about binary, place value, and number bases (at least at first) as bytes are what everyone uses and talks about near daily. I've also found it good to avoid talking about specific numerical quantities and focusing instead on what those quantities represent, such as letters, brightnesses, etc. In some conversations I also found it useful to explain that bytes in a computer are taking up physical space inside the memory of the machine, just as letters on paper take up space.

Teaching Binary Numbers:

Sometimes light bulb on/off symbols are used ...

-- totera

An example from Basic Computing book is coming to my mind here: Suppose you have some torches or light bulbs and want to convey a message using the combination of those bulbs/torches/LEDs.

-- Failed Scientist

... I have never not confused anyone with notation.

-- Roel

When I tried to teach my son binary in order to explain how numbers worked in a computer I found that what worked best was to keep things simple and only build from ideas he already knew and nothing else. The usual light switch (or LED) analogy seemed to help some, but working with our hands was best. I considered using blocks, drawing pictures, and so on, but ended up not needing to.

Simple counting, doubling, and adding were things he already knew. Place value, not so much, but it wasn't hard for my son to get the general idea that each of his fingers could represent a number twice as much as the one before it, and you add them all together after you hold them up. Each finger can either be up or down; added or not.

He was then very impressed with how we could count to 31 on just one hand, and 1023 using both hands. This understanding actually came after explaining what bytes were and getting him to understand them.

Teaching How Computers Store Letters, Words, and Images

The really important part was to explain that a "byte" was a number in the computer, and that it could represent different things, like one letter, or how bright a color was. Explaining that a byte was 8 bits came later when he began learning what bits were.

As for words, I told him that you could lay out the letters of the alphabet in a row and count them, and that's how computers know what letters are, because the people who build computers decided which numbers would be which letters. I was then able to explain from there how many bytes it would take to make various kinds of documents around our house.

Explaining pictures also started with a recap on bytes. I explained that 1 byte told the computer how much of a color was in a picture. The computer would read that number and see how much red was in the picture. I next Googled "color mix venn diagram" so we could have a conversation about how pictures are only made of red, green, and blue, and thus 3 bytes are needed to talk about color. From there I was able to explain that those 3 bytes don't actually describe the entire picture, just one very tiny dot, and that you then need a lot of bytes to draw one image.

  • I think this might be my favorite answer here. Nicely done! – Ben I. Nov 8 at 2:16
  • @BenI. Thank you very much! To be honest, I probably spent way too much time writing this up today. I'm glad it was appreciated. :-) – RoboticForest Nov 8 at 4:55

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.