People have said you don’t understand something until you’ve taught it in a class. The truth is you don’t understand something until you’ve taught it to a computer, until you’ve been able to program it.
George Forsythe
Most of the quotes I pick are on this blog because I agree with them. George Forsythe was the founder and head of Stanford University’s Computer Science Department so he certainly has standing to comment on teaching methods, but I think that this quote underestimates the usefulness of teaching a class to other people. Teaching a computer is useful, it forces me into many corners that I wouldn’t have to explore and exposes my misconceptions; however teaching a class exposes me to other people’s misconceptions, many of which end up not being misconceptions at all. At the very least, they point me towards a different way of thinking about the problem.
Teach it in a class and teach it to a computer.
Hi Bob,
I’ve been enjoying reading your posts. Keep it up.
Where and what do you teach, if you don’t mind me asking?
Sincerely,
Florin
Thank you for the kind words Florin, they are much appreciated. I don’t teach in the sense of being a lecturer or being employed by any school. Over my career I have had many opportunities to teach classes and give talks – the last talk I gave was just before I left Coverity. I gave a presentation to the Northwest C++ User’s Group which you can find on YouTube here:
http://www.youtube.com/watch?v=D3WzjjiC7K0
Last year I taught a class on Git at my employer. One of the reasons I volunteered to teach the class was that I didn’t understand Git as well as I wanted to. Preparing and teaching the class helped get my mental model of Git straightened out, and I also learnt about other people’s mental models. If I taught the class again there are a couple of areas I would delve into even more because they are ripe for misunderstanding (merging and the staging area).
One of the reasons I set up this blog was to get more practice at explaining things. I enjoy the challenge of finding a good way to explain something. I think that most of my readers came here from Eric Lippert’s blog, but for anyone who didn’t, go check it out. He does a great job explaining things, and while his blog has a C# focus, plenty of his commentary can be applied outside of C#.
I do follow Eric’s blog and I must say that Coverity should pay you both for the advertisement. It seems like an amazing place that attracts great people.
I see your point about re-organizing things mentally when one needs to explain it and I appreciate you taking the time so the rest of us can benefit from it. As I said before, I enjoy reading your posts and looking forward to the next ones.