Hacker News new | ask | show | jobs
by chriszf 5155 days ago
When you're teaching something completely new to someone, at first you won't even have a common vocabulary. This is true no matter what you're teaching, and you have to dedicate some time to establishing the language (English, not computer).

One thing that makes coding a little harder is that many of the analogies we make for non-coders aren't especially clean: A hash is like an set of cubby holes, each can be named and filled, and the set can be infinitely expanded. Packet routing is like trying to find your way from New York to California, only stopping at major cities to ask for a general direction. Memory is like a big sheet of paper, and x = 5 is like writing 5 somewhere on the paper, and x somewhere else, and then drawing an arrow between them.

I'm not saying these are the best analogies (or even any good), but I have yet to hear ones that aren't riddled with holes. The average non-coder doesn't have the context to back-fill these holes. As an instructor, you need to realize this and take the time to lay more of a foundation than you think.

2 comments

The point about dictionary is an important one. When I teach I try to keep redefining the words I'm using over and over again, even if I've defined them already. I feel this is one of the more underestimated complications. Especially in my math classes I've always found that teachers are all too eager to just write down some definitions and use them from then on, spewing out theorems that involve them and expecting people to follow. The dictionary takes time to sink in, at least it's always been the case for me.

I am also worried about the analogies and how they're all slightly wrong. I usually resort to trying to explain exactly what the computer does in completely reductionist terms on the bit level when you write an assignment, print, etc, but it's a bit of a rabbit hole and finding the right balance is hard.

Excellent point. Not only that, but analogies always come along with extra bits that may lead them down the wrong path. It's very tricky to find just the right metaphor.
Richard Feynman answering the question "How do magnets work" in an informal pick-your-brain type interview:

"I can't explain that attraction in terms of anything else that's familiar to you. For example, if we said the magnets attract like rubber bands, I would be cheating you. Because they're not connected by rubber bands. I'd soon be in trouble. And secondly, if you were curious enough, you'd ask me why rubber bands tend to pull back together again, and I would end up explaining that in terms of electrical forces, which are the very things that I'm trying to use the rubber bands to explain. So I have cheated very badly, you see. So I am not going to be able to give you an answer to why magnets attract each other except to tell you that they do."

From the 1983 BBC "Fun to Imagine" series. Video for reference: http://www.youtube.com/watch?v=wMFPe-DwULM
this is one of the funniest videos I've ever seen. I love HN!