Can programming be taught?

2011/11/29

Categories: GeekStuff

Apparently, many people simply cannot comprehend programming. That is to say, if you look at the people who come into a programming course, and give them a really, really, simple example of what programs look like, some of them Just Don’t Get It. Nearly all of these people fail out, because they never learn to program; they simply can’t get their heads around it.

But wait!

The programming courses out there are all written for, and tested on, people who can get their heads around it. That is to say, they are written by people to whom that fundamental thing was obvious, and they are written without any attempt to expose or explain that thing, because it’s obvious.

It occurs to me to wonder: If you sought out the people who Just Don’t Get It, could you teach them to program if, instead of focusing on things that are irrelevant to their problem, you tried to understand their problem and teach them the thing they don’t know which everything else assumes they already get intuitively?

Obviously, what I need is a supply of people to whom the underlying thing that makes for a working model is not obvious – people who don’t get it the first time. And then a chance to talk to them, ask them questions, and try to walk them through it.

So, uhm. Any volunteers? Look at the link, look at the sample question about a and b. If the answer doesn’t strike you as obvious, drop me a line.

Comments [archived]


From: Dave Leppik
Date: 2011-11-30 15:42:00 -0600

One problem with programming in particular, and math in general, is that people have a hard time wrapping their heads around abstractions. One or two abstractions they can handle, but the more abstractions you throw around at the same time, the harder it gets.

I’ve heard about one university that designed a freshman computer science curriculum around computer graphics. That way, rather than an assignment to write a program that iterates over an array, they write a simple red-eye reduction program. It’s not abstract arrays, it’s pixels. Students who pass the course do just as well on standardized computer science tests as students who took other classes, but the drop-out rate is much lower.


From: Jj
Date: 2011-12-15 11:11:55 -0600

Good point, Dave.

I’d be willing to volunteer, Peter.