4 ms·
The best argument I've recently heard for "start younger" came from a Planet Money episode (http://www.npr.org/blogs/money/2014/10/21/357629765/when-women-stopp
by boulos 12y ago
The best argument I've recently heard for "start younger" came from a Planet Money episode (http://www.npr.org/blogs/money/2014/10/21/357629765/when-women-stopped-coding http://www.npr.org/blogs/money/2014/10/21/357629765/when-wom...). The computer in most homes was treated as a toy for the boy of the house. By the time you get to college, the guy breezes through the basics in CS 101 while girls are left thinking "Why is this so hard for me?" and drop out.
Luckily, this trend will hopefully be reversing now that all young people get laptops regardless of gender.
- DigitalJack 12y agoI started programming in grade school. I didn't learn anything about algorithms until college. I don't think starting early helps out that much for anything beyond pretty simple concepts. There are those who pick up amazing amounts, algorithms and all, on their own, but I think that has more to do with the person than with starting early.
- patio11 12y agoI have the distinct memory of being in a college class with someone who had never used a CLI (no understanding of how to navigate from /home/foo to a project directory, only most tenuous understanding of what a directory was), who didn't understand what a variable was, and who couldn't understand why x = 7 + 2 when x already was 10. I have a lot of sympathy for folks who feel like the geeks-doing-this-since-age-7 have a pretty commanding advantage coming into CS101. (I just don't think that advantage is morally problematic.)
- kyllo 12y agoand who couldn't understand why x = 7 + 2 when x already was 10 That's a classic example for why functional programming can be a more intuitive paradigm than imperative programming.
- hackinthebochs 12y agoI don't think the trend will reverse at all. Think of point-of-entry into programming 20 years ago vs. today. Back then, to do anything with a computer one had some exposure to programming: you either created your own scripts, typed them in from somewhere, or at the very least had to learn to navigate the technical corners of the system to get it to do anything interesting. Fast forward to modern times, people can be absolutely masters at using a computer without having the faintest exposure to programming concepts. The point-of-entry in modern times is likely going to be through gaming. Making/modifying start up scripts. Installing mods, configuring mods, making mods. Or just being so immersed in gaming that you imagine that building them is just as fun as making them (it isn't but of course they don't know that). The point-of-entry is still male-oriented.
- curun1r 12y ago> The point-of-entry is still male-oriented. I agree with this statement, but I disagree with the rest of your post. To me, it reads like saying that the point of entry for becoming an architect is learning to hammer nails. Actually programming a computer is really just the way we express ideas, it's not how we learn to form them. There are more abstract forms of play that build the base skill set needed to be an engineer. For instance, I've yet to meet a good developer who wasn't exposed to Legos or some similar construction toy as a child. Those toys form the basis for being able to break down the whole into its constituent parts. And that's the essence of what a good developer does...takes a complex system and breaks it into simple, manageable components. This whole discussion over whether it matters whether you take up programming in your teens or twenties is, to me, missing the point. If you've got a foundation starting with building toys, moving to woodworking and learning to fix things, you'll pick up software development much more easily than you will if you've never been exposed to this kind of pre-programming. The best example of this that I've ever seen is my parents. My dad was an artist by trade, which means he earned most of his money in construction and roofing. He never went to college and didn't do particularly well in school. My mom, on the other hand, has a PhD in psychology and a masters in social work. As a child, she played with dolls and was taught to cook and clean. Both spent the vast majority of their lives living without computers. When my mom first started using a computer, everything needed to be a set of steps that could be memorized. It became clear that her view of the world is one of rote memorization and pattern matching...build up a set of "recipes" and then look for situations to apply them in. But those recipes are not composable. To this day, she can manage her Word documents without any problem and has a highly organized directory structure but is completely unable to manage her digital photos. Both activities are simply files and folders, but there's no connection in her mind. Meanwhile, when he was alive, my dad was far more fearless in his exploration of using a computer and became very competent. He taught himself JavaScript in order to script Photoshop actions. For him, using a computer was a series of problems that needed to be solved and every solution could be unique. So I guess what I'm getting at is that we waste way too much time worrying about how people get into programming and not nearly enough time worrying about how people get into problem solving. But that's the key skill that makes a developer good at his/her job. And, as you've rightly pointed out, the points-of-entry into problem solving are still very male-oriented.
- agumonkey 12y agoAmplified by the chaotic nature of computers (lots of cruft, legacy, ...) that will throw off anybody without deep desire to learn. I've seen uber brilliant students (acing hard Math and Physics cursus) failing at programming because they couldn't find the right switch for bash or gcc. Some teachers were even mocking them.