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.<p>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.<p>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.
Reading this gave me a warm, fuzzy feeling.<p>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."<p>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.*<p>*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.<p>But it there are so many more things students learn using this method.<p>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".
This is wonderful.<p>My wife homeschools, and the math curriculum she uses uses a very similar method from the beginning.<p>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.<p>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.<p>I sometimes wish we were all born with eight or sixteen fingers, but that's just the CS/EE bias in me talking.
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.<p>Anyway do you know of other books, on any topic, that use the socratic method?
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.
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.
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.<p>As the Agile theory puts it, this approach "maximizes feedback".
This is very cool, and I'm going to try it when I can.<p>But just to nitpick, he did actually tell them plenty of things, it was not just questions.<p>2 Examples:<p>> Could it be because we have 10 fingers?<p>> 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.<p>Not a criticism, just a nitpick.