One of my readers (thanks Blake) sent me a link to an interesting web page that uses the Socratic method (asking questions) to teach binary numbers to very small children. It is amazing how simple it all seems in the context of that example. I remember learning different number systems when I was fairly young. I remember it just being cool to me. I didn't see any use to it at the time. But even though I didn't like math much at that age I spent a lot of time for a while playing with converting from one number system to another.
Certainly when I came across it again in college it was old hat to me and that was helpful to me. Number systems do not seem as though they are taught as often as they used to be. I think that is too bad. Number systems, not just binary, are pretty interesting. In computers we use different number systems regularly. Binary of course. Also hexadecimal and octal though mostly as a way to organize binary numbers.
Recently I've heard discussions about devices that have three states rather than just two. Perhaps they are -1, 0 and 1 though unless you are into the hardware it probably doesn't matter much. What will matter is that this allows for a computer that uses a ternary number system. Think of the possibilities - more data in less space, more powerful instruction sets, and of course yet another number system to learn. If we teach binary correctly this should not be a problem. Though of course if we taught decimal in more general terms allowing for students to understand binary (and octal, ternary and hexadecimal) we probably would not have so much trouble with lots of concepts either.
And that, really, is the heart of the value of teaching binary to young students - it helps them understand decimal better and at the same time opens their horizons to new ways of looking at numbers. That seems like a good goal to me. If we use the carrot of "computers use this" to get them interested that is not such a bad thing either.
BTW I think that "how would a ternary computer change the way computers work?" might be an interesting discussion question in computer science classrooms.