Live data from Hacker News

What We've Learned About Teaching Code

codecademy.com

1–10 of 45 posts

Re: What We've Learned About Teaching Code

#2
“There are known knowns; there are things we know we know. We also know there are known unknowns; that is to say we know there are some things we do not know. But there are also unknown unknowns – there are things we do not know we don't know. ” The Johari Window - quote from Donald Rumsfeld

This is the point of user acceptance tests - it doesn't matter if the code does 100% what it was designed to do. If the users can't make it work, it's no good.

Nice analysis from Codecademy.

Re: What We've Learned About Teaching Code

#5

Isn't this common sense? If you've ever tried to teach anyone anything, you've run into this.

It's not common sense, in my experience. Most programmers who have tried to teach code at all have done so to someone with extraordinary aptitude (i.e. like themselves).

Re: What We've Learned About Teaching Code

#8
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.

Re: What We've Learned About Teaching Code

#9
post #8

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…

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.

Re: What We've Learned About Teaching Code

#10

Isn't this common sense? If you've ever tried to teach anyone anything, you've run into this.

It's obvious, and they should have known.

In my experience the best people to educate the newbies are the people who were newbies a year ago. They know what the roadblocks were for them, and the don't know 'too much' as to complicate things.

Post reply on HN