Slashdot Mirror


At What Age is it Easier to Learn?

Maria D asks: "At what age do people learn faster? Suppose you want to learn to write code at a certain level. What age ranges will absorb the lessons the best? There is surprisingly little research on post-early-childhood development. A language won't be quite native if you start learning it after five or so, but what about adult differences? From informal observations in graduate schools, I've concluded that older people learn faster because of their experience in learning techniques, which seems so counterintuitive!"

3 of 103 comments (clear)

  1. Feh! by Pig+Hogger · · Score: 5, Insightful
    It's easier to learn when you are GENUINELY interested in something, down to the guts.

    I'm past 40 and whenever it's about what interests me the most, I have no problem learning new stuff.

  2. Really? by Jerf · · Score: 4, Interesting

    There is surprisingly little research on post-early-childhood development.

    Really? I'm sure that nobody has studied "the best time to learn a computer language", but if you've done a real survey of the literature, I'm sure you can synthesize your own answer superior to pretty much anything you can read here.

    My own conjecture is that "developer ability" (the ability to construct your own abstractions, and use others effectively) as opposed to mere "coder abilitity" (the ability to make code "do this" and "do that") is probably almost directly correlated to mathematical ability, both in the K-12 and upper-level-college senses of the term. In fact I suspect there would be an almost direct parallel between the "numerical manipulation" skills that constitutes most math in a K-12 education, and the ability to do math at a Mathematician's level. To use the somewhat-out-of-date-but-still-useful Piaget naming, "concrete operational" vs. "formal operational".

    I'm not saying the two are identical, just that the cognitive skillsets are so similar that the development literature for math is likely to apply quite directly to coding. Trying to teach an average six-year-old "Object Orientation" is probably too much abstraction for them; they may learn to manipulate pre-existing objects but I'd bet that until they become "formal operational" they will have a hard time creating good objects of their own.

    OO here is just an example; functional, for instance, I'd expect to be even harder to really grasp in the general case. You could teach simple map and filter, but they aren't going to get the full richness. Again, on average.

    So this is a meta-answer: I don't know the answer to your question, and 99 out of 100 people posting won't either. But I can refer you to the literature on learning math and guess that it is as likely to apply as anything, with the mapping I've given you here. I can't be sure, but it's a good guess. And I'm pretty there's been a lot of study on that topic.

    (People rushing to reply to this are encouraged to be sure they understand the meaning of "concrete" and "formal operational", and the meaning of the word "average". If so, fire away, but I'm sick of people mentally editing qualifiers like "average" or "most" out of my messages and then firing with all cannons as if they weren't there, and if you don't know those Piaget terms you don't really know what I said here.)

    (And while I've defined the terminology, I'm going to point out a lot of people who think they are "developers" are in fact "coders", at least as evidenced by the source code I've seen both in closed and open source projects. Few people seem capable of creating decent abstractions.)

  3. Re:I'm Hardly the Person to Ask on This... by Marxist+Hacker+42 · · Score: 4, Insightful

    It's impossible to explain memory allocation to someone who doesn't yet possess the ability to understand basic math (it's hard to teach it to someone who DOES understand basic math!).

    I used legos to teach memory allocation to 4th graders, and I'm pretty sure the same method would work with younger kids. Pretty easy to have a heap of legos, and "allocate" certain block sizes to different building projects, which is no different than basic memory allocation (including the importance of "releasing" ownership of a block so that somebody else can use it). I'm always amazed at the math majors who think that without higher math, higher math concepts can't be explained in concrete terms.

    --
    SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.