Hacker News new | past | comments | ask | show | jobs | submit login
Teaching binary to 3rd Graders using the Socratic method (garlikov.com)
195 points by scorchin on April 14, 2011 | hide | past | favorite | 31 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?


Reading this gave me a warm, fuzzy feeling.

I can't imagine trying to teach 3rd graders binary using a standard method - I even have peers in college that struggle with it. Probably because it was just taught to them as something different - this weird language computers use, instead of them developing an intuitive sense for it. But whenever I try to explain it to them, or anyone else, I always try and explain it as "just like decimal, exactly what you already know."

The Socratic method really is much more interesting and captivating for students. For example, Walter Lewin's physics lectures (Which are well worth watching, even if you're not taking a physics class), which I'm currently watching to "supplement" my actual physics class in which the professor stares at the board and rambles.*

*Not to say that his lectures are the Socratic method - that's probably not feasible with a lecture hall of hundreds of students. But the way he teaches makes you feel like you're discovering everything again along with him.


This is a great way to teach and Mr. Garlikov did an amazing job. It is hard work to "teach" this way because it requires student/teacher interaction (which is a lot harder than just standing there and lecturing). Coming up with the content is equally difficult.

But it there are so many more things students learn using this method.

One is they learn how to create new ideas from existing ones: "inventing". It really gets me when I hear people tell kids "don't re-invent the wheel".


>One is they learn how to create new ideas from existing ones

This is how our brains are wired to work: the more places we can cross-reference the material from, the more likely we can "derive" it again quickly even if we can't memorize it.

"shut up/memorize it/some things just are" kills the intention to learn faster than a speeding bullet to the brain.


This is wonderful.

My wife homeschools, and the math curriculum she uses uses a very similar method from the beginning.

My daughter knows "12" as "One-ten two" and "33" as "three-ten three" and says it that way. She also knows those mean twelve and thirty-three, but for the purposes of the math program she uses the place terminology.

We can only hope that it will give her a better understanding of what's going on than pure memorization, and the jury's out until she's older, but it's a fascinating way to teach.

I sometimes wish we were all born with eight or sixteen fingers, but that's just the CS/EE bias in me talking.


I'm very very interested in considering homeschooling. How did the article's method differ with your child, since the "class size" is reduced to one? Your child won't have the benefit of being "filled in", but maybe she feels that she owns 100% of the achievement?

By the way, "one-ten-two" and "three-ten-thee" is literally how the Chinese would pronounce their numbers (一十二,三十三). In a way I think it's helped me understand place values earlier.


The Socratic method can be frustrating with one child, because when she doesn't get it, she really doesn't get it, and it takes a lot of questioning to lead her down the right path again. Sometimes you just want to bang your head against the wall when you ask the simplest leading question and she gets it wrong. At least with a group most of the kids will get those questions right.

I think my wife and I use that teaching method quite naturally. I'm never inclined to just give our children the answer; they only learn when they arrive at the answer themselves.


IMO English language gets in the way a lot here.

Teaching my then 4yo the decimal system I dropped in some binary, in a similar way to this class - except for him we called it "robot language". He knew it from watching a few (PG!) episodes of Futurama. Hey, if Bender talks it then it's cool and that's enough to spark some interest.

I try to get him to interpret 12 as "one ten and two ones" or "one ten and two more" and say then they we just call it 12. In the same way 1100 in robot language is "one 8, one 4 and 0 twos and 0 ones".

When I'm president of the world number-names are up for reform!


I love to learn using the Socratic method. One of my favorite books is: "The Little Schemer" which is great and twists my mind in ways that I didn't think where possible.

Anyway do you know of other books, on any topic, that use the socratic method?


Many Plato's dialogues are a great read; Eutyphro, Gorgias, Hippias Major, Protagoras, the Sophist, the Symposium, Phaedrus, the Republic...

As a side note, having read (and re-read) all of Plato's dialogues and many from Xenophon, Socrat became incredibly real and life-like to me. Xenophon's dialogues are far from being as good as Plato's, but the Socrat character really is somehow the same.


Would you recommend The Little Schemer as a book for teaching programming/computation concepts to kids?


Plato's Republic?


There must be shorter, easier Socratic dialogues one could read. Maybe Euthyphro, or something:

http://classics.mit.edu/Plato/euthyfro.html


I learned how to count in binary using my fingers as digits probably about third grade. The pinkie is the 1. At that age, I thought it was pretty cool that I could count to 31 on one hand, and it stuck with me to this day. I'm sure I'll teach my son the same.


I taught myself sometime around age 13, because I was playing second flute in a youth orchestra, which meant I had to count out long rests, sometimes over 100 measures. Just counting in my head, I kept getting distracted and losing track.

(I already knew binary, because I was programming on an 8-bit box.)


=) then you can tell people you are this many years old this year, up until you're 31.


Genius! I can use that for another 4 months, then it'll have to be a pinky and a fist, but that's a little too suggestive for normal conversations.


Captivating. Understanding something by answering questions on your own (even if guided) always feels more like true understanding. But what happens when we come to a point that requires mental leap beyond what a student can do? Is there a set of problems, or a set of students that are more suitable for Socratic method (3rd graders seem to do just fine at it)? Or is there a set of teachers that are more adept to teaching this way? Please give your answers through questions only.


If it requires a mental leap, then you are doing/teaching it wrong. Every large leap is just a bunch of small leaps.


Absolutely.

The hard part about teaching is recognizing when you've introduced a large leap for a good percentage of the class.

There's a famous math story that goes:

"A professor was at the chalkboard writing up a proof for his class. At one point he comes to a portion of the proof and says, 'And it's obvious this must be X'. At which point he pauses, the class waiting. Stares at the board for a minute. Then leaves the class without saying a word. He returns fifteen minutes later, continuing, 'Yes, it's obvious this must be X'."


What is...not understanding the limitations of the Socratic method, clearly outlined at the bottom of the link?

Everything that we know can be broken down into "basic" atoms which cannot be broken down further, but are so tiny the can be learned quickly, or things built up bit by bit, which can be explained given enough time. Even things like "capital cities and states" can be taught by asking how things get named and who names them and who would name something the way they did, giving a bit of historical background etc.


This is amazingly similar to Test Driven Development. In the purest form of TDD, you don't write a single line of code until you have a failing test. The failing test is the unanswered question. Then, you write the code that "answers that question." This means that each step of the way, you are confirming that prior principles are correctly understood by the human and the computer before building on those prior principles.

As the Agile theory puts it, this approach "maximizes feedback".


This is very cool, and I'm going to try it when I can.

But just to nitpick, he did actually tell them plenty of things, it was not just questions.

2 Examples:

> Could it be because we have 10 fingers?

> No, only to you guys, because you were taught it wrong [grin] -- to the aliens it is two. They learn it that way in pre-school just as you learn to call one, zero [pointing to "10"] "ten". But it's not really ten, right? It's two -- if you only had two fingers.

Not a criticism, just a nitpick.


This gives me an idea. What if there were a virtual university that was entirely conducted via chat? Like Quora meets Convore.


I'm unfamiliar with Quora. How is it different from, say, yahoo answers or stackOverflow??


Quora is of greater intellectual merit than Yahoo Answers, and isn't siloed into verticals like Stack Exchange.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: