Stories
Slash Boxes
Comments

SoylentNews is people

posted by LaminatorX on Thursday October 16 2014, @08:13PM   Printer-friendly
from the teach-yourself-C-in-twenty-four-hours dept.

Over at ACM Mark Guzdial makes the case that Teaching > Genetics, the so-called "Geek Gene" doesn't exist, and gives some advice on how to teach students who believe they're just "not wired" for programming:

The most dangerous part of the "Geek Gene" hypothesis is that it gives us a reason to stop working at broadening participation in computing. If people are wired to program, then those who are programming have that wiring, and those who don’t program must not have that wiring. Belief in the "Geek Gene" makes it easy to ignore female students and those from under-represented minority groups as simply having the wrong genes. The problem is that those who seem like they have a "Geek Gene" or who are well-prepared are typically the students who have had privileges, who have had the opportunity to develop ability in computing before they enter our classroom. We need to teach as if anyone can learn to program in order to broaden participation in computing and develop a more diverse computing community and workforce.

...

The belief that students are born or have "different internal wiring" to be a programmer ignores the value of the teacher. A 2012 OECD report put the point in two words: "Teachers Matter." Hours of practice with a good teacher are far more likely to contribute to expertise than hours of practice alone. Rather than worry about our students’ genetics, we should be thinking about how to make ourselves more effective as teachers.

This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 3, Informative) by jackb_guppy on Thursday October 16 2014, @08:32PM

    by jackb_guppy (3560) on Thursday October 16 2014, @08:32PM (#106793)

    Yes, anyone can code. Keep slinging enough and it will work.
    Yes, computers can code too.

    No, not everyone can program.

    Look at watchmaking.

    Just gears and springs and points and screws. yup everyone can make a watch. Simple easy to understand things that work together.

    Not everyone is watchmaker. Designing the layout for smooth and easy working. Laid out with beauty and function.

    So get over it. Coders != Programmers

    • (Score: 2) by digitalaudiorock on Thursday October 16 2014, @10:41PM

      by digitalaudiorock (688) on Thursday October 16 2014, @10:41PM (#106833) Journal

      Yes, anyone can code. Keep slinging enough and it will work.
      Yes, computers can code too.

      No, not everyone can program.

      I think the key distinction here is that, without question, not everyone is a software engineer, as in someone who can design good software.

      At the risk of starting a flame war...I'd argue that the systemd folks are "good programmers" who couldn't design their way our of a wet paper bag...but I digress...

      • (Score: 2) by jackb_guppy on Thursday October 16 2014, @11:48PM

        by jackb_guppy (3560) on Thursday October 16 2014, @11:48PM (#106845)

        systemd guys to me... good coders. Please do not insult programmers. Nor those with higher class of skills... hackers.

    • (Score: 3, Interesting) by Common Joe on Friday October 17 2014, @04:28AM

      by Common Joe (33) <common.joe.0101NO@SPAMgmail.com> on Friday October 17 2014, @04:28AM (#106890) Journal

      Yes, anyone can code. [snip] No, not everyone can program.

      Early in my career, a guy who sat two cubes back couldn't code much less program. One day, he asked me for help so I came over. He had an if-elseif-then statement with three more if-elseif-then nested statements within. The entire thing could fit on his screen. After looking at his code for 60 seconds (and never seen anything of what he worked on before), I said, "You do realize that of these nine possibilities, three of them could never possibly execute, right?" It was brain-dead simple and he didn't get it. The newbie girl who sat between us was a hell of a lot better coder than this supposed veteran.

      I'm not necessarily disagreeing with you (you have a good, insightful comment) and I'm not necessarily disagreeing with the summary (as I've had some really crappy teachers that have harmed my grades), but I don't think any amount of teaching would have gotten through to this guy.

      • (Score: 0) by Anonymous Coward on Friday October 17 2014, @08:31AM

        by Anonymous Coward on Friday October 17 2014, @08:31AM (#106913)

        but I don't think any amount of teaching would have gotten through to this guy.

        I'm not so sure. It just would have had to be teaching of a more fundamental subject than programming: Logical thinking.

        Quite often, the difference between "brain-dead simple" and "impossible to grasp" is just the "mental tools" you have at your command. Just like for me it is dead simple to tell you what I think about it, but for someone who never learned writing it would be an extremely difficult, if not impossible task.

        Now there are some things that have a "learning window" (for example, if you didn't learn to speak until a certain age, you'll never learn it properly). So it might be that there's also a learning window for proper logical thinking, and if you didn't learn it early enough, you'll never learn it well later. However I don't know of any evidence either way.

  • (Score: 2) by mhajicek on Thursday October 16 2014, @09:21PM

    by mhajicek (51) on Thursday October 16 2014, @09:21PM (#106799)

    The argument is way older than computers. Just about anyone can be thought just about anything, and the earlier you start the better. That said, having parents with similar skills and interests to the subject is a great advantage, since then learning tends to start young. For example, my 20 month old son is already learning swordfighting.

    --
    The spacelike surfaces of time foliations can have a cusp at the surface of discontinuity. - P. Hajicek
  • (Score: 2, Insightful) by Anonymous Coward on Thursday October 16 2014, @09:22PM

    by Anonymous Coward on Thursday October 16 2014, @09:22PM (#106800)

    Please teach my dog. It's not about the genetics right?

    kthxbye.

    • (Score: 3, Funny) by Anonymous Coward on Thursday October 16 2014, @10:44PM

      by Anonymous Coward on Thursday October 16 2014, @10:44PM (#106836)

      "You need to teach it not to 'byte' first! Ha ha ha ha ha ha ha ha ha ha, sigh." Wiping tears from eyes, "now that was stupid, sorry." :-)

    • (Score: 0) by Anonymous Coward on Friday October 17 2014, @08:34AM

      by Anonymous Coward on Friday October 17 2014, @08:34AM (#106914)

      Oh, your dog already programmed you to give him food regularly, walk outside with him even if the weather is terrible, and many more things. I'd say your dog already is an expert programmer.

  • (Score: 2) by SlimmPickens on Thursday October 16 2014, @09:26PM

    by SlimmPickens (1056) on Thursday October 16 2014, @09:26PM (#106801)

    Just about everyone here knows there's rather a lot of genes involved with a highly functioning brain. A lot can go wrong.

    But there's something to be said for plasticity. I'd say there's quite a few people that with the right attitude and a bit of effort could "learn programming".

  • (Score: -1) by Anonymous Coward on Thursday October 16 2014, @09:29PM

    by Anonymous Coward on Thursday October 16 2014, @09:29PM (#106803)

    Is society really so infected with the political correctness disease and Social Justice Warrior mentality that we've reverted to the failed tabula rasa hypothesis? At least a part of your aptitude, suitability, and capacity for enjoyment of any occupation is based on your genes. There's a huge amount of variation based on upbringing and personal determination, but it's not 100%. No, not everyone can program. Fewer still should program--anyone responsible for Windows ME, for example.

  • (Score: 1) by Gravis on Thursday October 16 2014, @09:51PM

    by Gravis (4596) on Thursday October 16 2014, @09:51PM (#106813)

    some people are naturally talented at artistry and some are naturally talented at logic. in general, people favor one ability over the other. that said, you can put in enough effort and master either one but that doesn't mean it will be fun.

    should we be telling people that anyone can be an artist?

    • (Score: 1) by Hardness on Thursday October 16 2014, @10:06PM

      by Hardness (4766) on Thursday October 16 2014, @10:06PM (#106819)

      //should we be telling people that anyone can be an artist?

      Bob Ross would say yes...

    • (Score: 5, Insightful) by Thexalon on Friday October 17 2014, @12:04AM

      by Thexalon (636) on Friday October 17 2014, @12:04AM (#106853)

      should we be telling people that anyone can be an artist?

      Anyone can be an artist. What they can't be is a good or professional artist. And you can too: 1. Buy some fingerpaints from your local toy store, and some paper. 2. Paint something (can be an abstract mish-mash). Poof, you're an amateur artist.

      --
      The only thing that stops a bad guy with a compiler is a good guy with a compiler.
      • (Score: 2, Interesting) by tftp on Friday October 17 2014, @01:27AM

        by tftp (806) on Friday October 17 2014, @01:27AM (#106866) Homepage

        1. Buy some fingerpaints from your local toy store, and some paper. 2. Paint something (can be an abstract mish-mash). Poof, you're an amateur artist.

        With this approach your "Hello, world" program in Perl will dump core.

        Programming is somewhat like skydiving - it has a threshold. You have to have a certain minimum level of skills to survive your first jump. As you say, an artist doesn't have such a threshold today; though in the days of Sir Peter Paul Rubens [wikipedia.org] an adult artist would be simply hanged for lèse-majesté if he delivers the king's portrait in cubist style.

      • (Score: 0) by Anonymous Coward on Friday October 17 2014, @04:41AM

        by Anonymous Coward on Friday October 17 2014, @04:41AM (#106892)

        Anyone can be an artist... for sufficiently low standards for what constitutes art.

        This is just a rehashing of the "there are no geniuses... blah blah, blah... 10,000 hour rule" that fools have been spouting for years. If you set the bar low enough anyone can achieve the standard.

        After 20 years in computers, I've met hundreds of programmers but only about 6 people who really made a difference. Anyone can bang on a keyboard and produce code. Very few can do a really good job of it and fewer still develop genius level analysis, design and implementation.

  • (Score: 2, Interesting) by khedoros on Thursday October 16 2014, @10:43PM

    by khedoros (2921) on Thursday October 16 2014, @10:43PM (#106835)
    Everyone has certain strengths and weaknesses, and the mix varies between individuals. If your strengths don't apply to a skill that you're trying to learn, you're going to have a tougher time acquiring that skill (and the same applies if you have a weakness holding you back). A person's attributes are a combination of their genetics, along with the unique circumstances of their life, starting in utero. Their abilities, personality, desires and drives, behavior, etc are going to be a result of their genetic inheritance (nature) and their experiences in life (nurture). Both are equally important.

    It's silly to say that everyone is a pure tabula rasa, but for something like programming, the "wired for" part is as much a state of mind as a matter of natural aptitude. Still, the right frame of mind will only get you so far. There's nothing wrong with optimizing for the best mental state (in fact, it's a noble goal), but not every kid's going to end up being able to architect more than a basic system, visualize the interrelationships of 1000 source files, etc, and that's OK. I've been taught writing for most of my life, I've been encouraged to write, and I've attained a certain level of skill. But I don't have the natural ability with words that my sister does, for example.
    • (Score: 1) by pnkwarhall on Thursday October 16 2014, @11:28PM

      by pnkwarhall (4558) on Thursday October 16 2014, @11:28PM (#106841)

      That's a lot of words to describe the concept of "talent".

      --
      Lift Yr Skinny Fists Like Antennas to Heaven
      • (Score: 2, Interesting) by khedoros on Thursday October 16 2014, @11:54PM

        by khedoros (2921) on Thursday October 16 2014, @11:54PM (#106848)
        Seems like "talent" just hits the "natural aptitude" part of my comment. "Talent + desire = Geek Gene" gets a little closer, but it's still a little off. As a related factoid, it takes a few dozen megabytes of source code for my company's product. That's a lot of lines of code for "Backup my data".
        • (Score: 0) by Anonymous Coward on Friday October 17 2014, @02:59PM

          by Anonymous Coward on Friday October 17 2014, @02:59PM (#107039)

          Wait, you need several megabytes of source code for a data backup application? Sounds bloated to me. ;-)

  • (Score: 4, Insightful) by Thexalon on Friday October 17 2014, @12:00AM

    by Thexalon (636) on Friday October 17 2014, @12:00AM (#106851)

    The not entirely wrong part is that it is true that there is no evidence whatsoever that there is particular genetic variations that cause somebody to be a better programmer. If that were the case, we would expect that the best programmers were descended from the best programmers, and there is no evidence of that. It's possible that there's a sample size issue involved, because programming has not been around long enough for there to many parent-child pairs involved in the industry, but really it doesn't help.

    However, it's also not true that absolutely anybody can be good at it. If you don't have a knack for breaking down big problems into smaller ones (and a lot of people don't), you aren't going to succeed as a programmer, because that's the essence of programming.

    Any correlation between race/gender/hair color/nearsightedness/... and programming skill is almost definitely non-existent and unimportant, because in all areas of human endeavor the variations within those groups are always much more important than the average difference between them. That's true whether you're talking about running 100m, target shooting, debating a political issue, proving a theorem, writing a novel, diagnosing an illness, or cleaning a kitchen.

    --
    The only thing that stops a bad guy with a compiler is a good guy with a compiler.
  • (Score: 1) by NewMexicoArt on Friday October 17 2014, @03:08AM

    by NewMexicoArt (1369) on Friday October 17 2014, @03:08AM (#106878)

    That's like saying that anyone can learn to play football - wishful thinking. Might can sell todays awful education system on the idea though.

    • (Score: 0) by Anonymous Coward on Friday October 17 2014, @08:42AM

      by Anonymous Coward on Friday October 17 2014, @08:42AM (#106917)

      Of course anyone can learn to play football (well, assuming he has no related disabilities, but I guess the author of the article also would happily exclude people with related mental disabilities from his claim; "anyone" in such statements usually means "any normal person" for some unstated definition of "normal"). He may not play it well enough that he has a chance to get into a professional team, but he certainly can learn it well enough to play with others who are on the same level as him.

  • (Score: 2) by Aiwendil on Friday October 17 2014, @08:24AM

    by Aiwendil (531) on Friday October 17 2014, @08:24AM (#106911) Journal

    Anyone can code, anyone can run a marathon.. the question is if you want it to take two hours or a day.

    Or take a sport I follow - snooker - anyone can play a decent game after a bit of practice, occasionally anyone can make a century (a break of more than 100 points) but it takes a professional to be able to make more centuries than not over the course of 35 frames (re-racks) split over two days, or be able to perform at a level to make more centuries than not over multiple games (only 5-21 frames each) over the course of a couple of weeks.

    Then also, just what is "programming", people that excel in one field generally don't excel in another field. For me it would take days to code the 3d-renderingengine to show the wet paperbag I could build and code a robot to rip to shreds during a rainy afternoon.
    (Or as I like to ask people: Would you want the people at westinghouse to write your next game and the people at maxis to write the safety-control-system for your local nuclear power plant?)

  • (Score: 2) by Phoenix666 on Friday October 17 2014, @10:36AM

    by Phoenix666 (552) on Friday October 17 2014, @10:36AM (#106938) Journal

    I have often thought the power of permission plays and important role in what we are able to accomplish, or not. Human beings are innately social animals and what others around us allow us to believe we can do has a deep and subtle influence on what we can do. There was a BBC program once called "Faking It," where the producers coached regular people to play specialised roles well enough to fool others in the industry. It was remarkable the difference permission made to their ability to pass. The best was a hot dog vendor, under-achieving, perennially ne-er-do-well, whom they coached to pass as a head chef. He just couldn't do it, no matter what, until his sous-chefs got together to yell at him for not giving them orders, thus giving him permission to be in charge. At the end the panel of Gordon Ramsey types picked him out as authentic over 5 other actual head chefs.

    --
    Washington DC delenda est.
  • (Score: 2) by hoochiecoochieman on Friday October 17 2014, @11:19AM

    by hoochiecoochieman (4158) on Friday October 17 2014, @11:19AM (#106945)

    Oh no, not the same bullshit again! An article like this used to show up every week, now it's every other day. Looks like someone's getting desperate.

    Capitalism has already destroyed most menial jobs. Now, even qualified jobs are getting scarce and there's highly qualified people making minimum wage. Looks like they're aiming for the last professions with decent pay, in a desperate attempt to make them shit-cheap, too.

    Not everyone can code. And, of those who could, most won't want to do it. And of those who actually want it, most will suck big time.

    Come on, dudes. This kind of shit looks great in business magazines pandering to the MBAs and wannabes, but why here? People here know better.

    Could we have an article called "anyone can learn management"? I don't think so.

  • (Score: 2) by PizzaRollPlinkett on Friday October 17 2014, @11:21AM

    by PizzaRollPlinkett (4512) on Friday October 17 2014, @11:21AM (#106946)

    Programmers -do- have different internal wiring. We have an ability to create abstractions and follow literal, linear processes that most people simply don't have. We also have an ability to solve problems that most people don't have. These traits are developed over a long period of time, typically starting in adolescence, and the result is a professional programmer. The difference between someone who can do programming at a professional level goes far beyond training into how the mind works. Programmers also tend to be less good at non-linear stuff, such as social interactions. Some people may be able to do both kinds of thinking but not many can.

    Anyone can learn to play music, too, but professional musicians usually have internal wiring that allows them to do things most people can never do, even if they put an equal amount of time into practice. Professional sports players have internal wiring an genetics that allow them to do things other people can't do. Anyone can learn chopsticks or play driveway basketball, but you're not going to make a career out of that. Sure, anyone can learn to write simple programs in BASIC or whatever, but they're not going to be able to produce production-quality code. You can train someone, but they'll always lack the different wiring that would make them successful as programmers.

    Just talk to a "normal person" about computers some time. They usually don't "get it" on a fundamental level. Most "normal people" never go beyond rote learning. To perform a task, do these steps in this order. Anything that deviates from these steps completely shuts them down and they need a "wizard" or "guru" (or whatever they call it) to understand what has happened. Most "normal people" I've encountered never go beyond the most rigid rote learning to use a computer. (Also talk to people about mathematics, because most people are not capable of mathematical thinking.)

    But my point here is the fallacy that anyone can do anything if they just have enough willpower. No, you can't. Sorry. That's a fallacy.

    --
    (E-mail me if you want a pizza roll!)
  • (Score: 2) by gidds on Friday October 17 2014, @12:44PM

    by gidds (589) on Friday October 17 2014, @12:44PM (#106978)

    From the story quote (my emphasis):

    We need to teach as if anyone can learn to program

    The two bold words are the important ones.  If someone shows an interest, we should never assume they can't learn if they want to.  Equality of opportunity, lack of discrimination, and all that.  And you never know — maybe they'll show some aptitude.  Everyone has to start somewhere.

    But that's a long way from saying that everyone can learn to program, as per the summary.  From what I've heard, there are a few folk who will never really 'get it', however long they spend and however well they're taught; and others who will never be very good.

    But we should still teach everyone as if they can.

    --
    [sig redacted]
  • (Score: 2) by darkfeline on Friday October 17 2014, @02:25PM

    by darkfeline (1030) on Friday October 17 2014, @02:25PM (#107015) Homepage

    I never understood the mass media push to bring programming to the masses and can't help but believe the FUD that tech companies are behind this, wanting cheap and widely available trash labor to choose from, students laden with debt unable to find jobs be damned.

    I thought we were supposed to be a progressive society, so whatever happened to letting kids learn whatever they want to learn? If they want to learn programming, let them take programming classes and let Darwinism sort it out, whether or not they are capable.

    --
    Join the SDF Public Access UNIX System today!