Comment by nmrm

12 years ago

I don't have actual code. But when tutoring CS1 and CS2 students during undergrad, it was common for students to try to implement algorithms in terms of linked lists when they should have been using a tree.

The really persistent students would get things to almost work -- often with hundreds or thousands of lines for something that, with a tree, doesn't take more than 10-50 lines.

This is also an interesting case study in human behavior; the students were typically too impatient to spend 20 minutes thinking about the problem before coding, but could spend 20-30 hours on a single assignment. Odd combination of work ethic and lack of patience...

> the students were typically too impatient to spend 20 minutes thinking about the problem before coding, but could spend 20-30 hours on a single assignment. Odd combination of work ethic and lack of patience...

I wouldn't call it a lack of patience, per se. In most modern models of the brain, exercising executive control to think abstractly ("using System 2") expends energy for as long as you're doing it, and the explanation for many of the brain's inherent shortcuts and biases is to to prevent you from switching into System 2 for longer than absolutely necessary.

I have a feeling that a large part of what is characterized as "intelligence" is simply the brain being willing, for whatever reason, to switch into System 2 "mode" more often, and stay in it for longer.

  • In case anyone else is wondering, System 1 = autopilot thinking and System 2 = deliberate thinking.

    From Thinking, Fast and Slow by Daniel Kahneman

    • Kahneman chose the names "1" and "2" because he asserts that those names are easier to remember than "autopilot" and "deliberate", and so don't require System 2 thinking when you use them. I find that the confusion arouns these names undermines Kahneman's theory, as seen in this thread.

Do you think culture is a factor in this behavior?

This tends to get rewarded in industry as well, hard work, lots of code, must be good.