Home > compsci, programming, teaching > Tue 8/16: The value of iteration

Tue 8/16: The value of iteration

Only one week between posts — that’s still not really what I’m aiming for, but a week is better than a month. It occurred to me the other day that even if I can’t write about what I’m working on, I could write some responses to some of the other blog posts I’ve read, which should give me enough material to write until the cows come home. I’m also adding a to-do item to spend 1 hour in professional development every other day, so that should encourage more output as well.

I was reading a great post by Frank Noschese about the value of iteration in learning and in teaching, and it really resonated with a lot of the work that I have done in teaching computer science. In particular, he talks about how many learners have difficulty trying more than one strategy, but ultimately the successful ones are willing to experiment and make mistakes.

For me as a teacher, it seems like getting students to be comfortable making mistakes is one of the biggest hurdles to overcome with new programmers. By the time that kids get to high school, they have been hard-wired to think that the worst thing to do is be wrong, and the most dangerous thing to do is to try. If I had a nickel for every time a student pointed at the computer screen and asked me, “Will this work?” — well, at least I’d have a lot of nickels.

Usually my response is simply, “Did you try it?” When I walk away without giving them the security blanket of a teacher blessing, sometimes they freak out. I try to tell them, calmly, “You don’t need me to tell you if your program works. Try running it to see what happens. You won’t blow up the computer.” Usually, they chuckle and give it a try. Still, I can see the miasma of resentment and, more importantly, fear behind their eyes sometimes. What do you mean, try it? Why won’t you help me? What if I made a mistake?

In some sense, you could really look at just this phenomenon and use it as a predictor of ultimate success in programming. People who are willing to experiment, to explore, and to really screw things up make good programmers. Those who are scared to color outside the lines don’t. It really doesn’t matter as much how well they can store the Java API in their head — they can compensate for shortcomings in knowledge way more easily than they can compensate for shortcomings in attitude.

As I usually tell my students early in the semester, programming is a contact sport — the more time you have in contact with the keyboard, the better you’ll get. But really, isn’t that true with just about every discipline?

Categories: compsci, programming, teaching
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: