One day after a visit to the Computer History Museum, my SO and I got to see the live demo of the analytical engine they have there. We watched the gears turning and stopping to add up numbers, saw the complex mechanisms to handle carrying digits, and she asked me how this would work if it was binary and I just said "much more simply". Then she admitted that, even though she has been working as a developer and manager of developers for years, she never learned binary.
When we got home I got out a pad and pencil and got her to write down 0, then 1, then asked her, if you only had two digits, what would come next? Tentatively she wrote 1 0. THen I asked her to add 1 to it. We more or less carried on the way this transcript went, except instead of using aliens with two fingers I introduced AND, OR and XOR 'boxes' that 0s and 1s go in and come out. I hadn't planned any of this but by the end of it she was just about drawing the circuit diagram of a full adder with carry bit.
I'm sort of thrilled to see that what I was doing is precisely the socratic method. I love teaching, never really did much of it until I gave a course in Unix and shell scripting at an old job but for a week I had more energy at work than I ever did just programming or in meetings.
I'm also a member of the "Taught my wife binary just for fun" club, but I used fingers in a different way than Rick Garlikov did.
I told her that there was a way to count to 512 using just your fingers, and let her work through how it might be possible using a similar question-answer trial and error approach. Once she realized that each finger had 2 states (up or down), she naturally recreated a binary counting system.
It's a neat trick, and even comes in handy when trying to keep track of a large count of something.
With kids, however, you may end up with behavior problems around the numbers 4 and 132 :)
I had a very similar experience teaching my wife. The thing I've found fascinating is that counting in binary only initially seems hard to people because, in most cases, people really don't know how counting to 10 (10 decimal that is) actually works. I actually remember having a similar feeling when I first took discrete math, I suddenly realized how little I understood of things that I had previously considered basic.
Comments
One day after a visit to the Computer History Museum, my SO and I got to see the live demo of the analytical engine they have there. We watched the gears turning and stopping to add up numbers, saw the complex mechanisms to handle carrying digits, and she asked me how this would work if it was binary and I just said "much more simply". Then she admitted that, even though she has been working as a developer and manager of developers for years, she never learned binary.
When we got home I got out a pad and pencil and got her to write down 0, then 1, then asked her, if you only had two digits, what would come next? Tentatively she wrote 1 0. THen I asked her to add 1 to it. We more or less carried on the way this transcript went, except instead of using aliens with two fingers I introduced AND, OR and XOR 'boxes' that 0s and 1s go in and come out. I hadn't planned any of this but by the end of it she was just about drawing the circuit diagram of a full adder with carry bit.
I'm sort of thrilled to see that what I was doing is precisely the socratic method. I love teaching, never really did much of it until I gave a course in Unix and shell scripting at an old job but for a week I had more energy at work than I ever did just programming or in meetings.
I'm also a member of the "Taught my wife binary just for fun" club, but I used fingers in a different way than Rick Garlikov did. I told her that there was a way to count to 512 using just your fingers, and let her work through how it might be possible using a similar question-answer trial and error approach. Once she realized that each finger had 2 states (up or down), she naturally recreated a binary counting system. It's a neat trick, and even comes in handy when trying to keep track of a large count of something. With kids, however, you may end up with behavior problems around the numbers 4 and 132 :)
"a way to count to 512"
1024 (or 1023), surely?
She wanted a sign bit.
I had a very similar experience teaching my wife. The thing I've found fascinating is that counting in binary only initially seems hard to people because, in most cases, people really don't know how counting to 10 (10 decimal that is) actually works. I actually remember having a similar feeling when I first took discrete math, I suddenly realized how little I understood of things that I had previously considered basic.
> live demo of the analytical engine
Difference Engine, no?