That pretty much lays out one of the more standard explanations for why more women don't go into CS.
Things arguably changed in the early 80s with the rise of PCs and gaming. While programming certainly existed before that, it wasn't something that most kids were exposed to in high school and CS curricula in general were heavily theory oriented and often in the Math department.
Today, if you want to be a mechanical engineering major there's no expectation that you lived in a machine shop all through high school or otherwise spent all your spare time in hobbies related to your college major.
Whereas, a lot of CS curricula today at least implicitly assume that you're comfortable with computer command lines, basic programming, etc. And, if not, you'd better get up to speed in a big hurry. Because most people in your class are up to speed and program for fun. I went through a MOOC from MIT a while back (6.001) and I can't begin to imagine working through that from a baseline of maybe one high school course.
ADDED: And, of course, you periodically see a similar attitude reflected on forums like this one when people argue that they won't hire someone without a GitHub repo who programs for fun nights and weekends.
Could this actually be good, or at least quite understandable? (I'm not actually sure whether you intend your comment to just be descriptive, or also judgemental.)
Does anyone expect college music programs to be easily accessible to people who didn't play an instrument, or sing in a choir, during high school? Similarly for dance, and drama, and art. And if you're right that mechanical engineering schools no longer expect students to have been tinkering around in their spare time previously, is that actually good?
At one time, there was good reason to not assume that incoming students had any programming experience, since many of them wouldn't have had access to computers, and so would not have had the opportunity to develop computer skills, or even to know whether they were interested in computers. But today in western countries, for any but seriously impoverished kids (or I suppose, those with mis-guided parents), that is no longer true.
There remains the possibility that a toxic culture in high school has prevented some students from realizing that they are interested in computers at that point in their lives, and therefore some remedial action in college is necessary. But fixing the toxic high school environment would be preferable.
> "There remains the possibility that a toxic culture in high school has prevented some students from realizing that they are interested in computers"
I take some issue if the characterization is "the nerds" are the toxic ones here. It's been a while, but the high school culture was overall toxic if you were not attractive and popular, and computer geek types were frequently targets for their interests. Young women were as bad as the males in the shunning.
I didn't mean to imply that the "nerds", or any of the students, were "toxic". It's the culture. Probably starting with the whole concept of segregating teenagers from the rest of society.
Interestingly, there was almost no bullying in my high school in Poland in the nineties. I think school bullying may be a product of Anglo-Saxxon culture, which is very individualistic, success oriented (i.e. if you're a "loser" you're barely a human being) and also kind of heartless. Currently, as Poland converges to the standard of global culture emanating from the US, there are reports of some cases of bullying, but still I don't think it's the everyday reality of each school.
> I think school bullying may be a product of Anglo-Saxxon culture, which is very individualistic, success oriented (i.e. if you're a "loser" you're barely a human being) and also kind of heartless.
That is rather refuted by the rather notorious bullying in Japan, which is about as far away from individualistic culture as you can get.
There was plenty of bullying in my middle school in Russia in the nineties. Hell, there's a 1983 Soviet movie about bullying.
Any kid that was weird and had no "redeeming" qualities (strength or wealth) was likely to be bullied. Don't tell me your class was one big happy family and that you didn't have that one kid that no one cared about.
Yep, we had one guy like that, that was kind of weird and thus was unpopular and made fun of by a couple of guys. It was far from the scale of "industrial bullying" that I imagine the US/UK schools are - with regular beatings, putting heads into the toilet etc.
You're right in that music programs demand a minimum level of proficiency with the chosen musical instrument. Many (if not all) have auditions as well.
I would say the programming is a bit different. It is true that someone who has been working computers before they start college is likely to do better in the programming assignments. I suspect in many cases they'll be bored. They might finish in 30 minutes what others would do in 3 hours. It's a gap but in the grand scheme of things it's not that significant. Now look at someone who has been taking violin lessons and exams for 8 years compared to someone who has never touched. The gap is huge. Perhaps of greater importance is the synaptic pathways that have been developed in the musicians brain coupled with the muscle memory and intuition developed over a prolonged period of time. I'm not saying that the programming knowledge acquired before college is worthless but that much of it can be acquired by new comers into the field over a relatively short period of time.
As to the toxicity of the high school environment I wouldn't be able to say. At college I certainly encountered the "nerd" times. As far as I remember they were not toxic at all. If anything many were either shy or generally awkward in social settings. Otherwise they were great to hang out with.
I think that's all fair. Although I also suspect that those of us who have been programming at least casually--even if not professionally--for years may minimize the challenges of learning to program and generally understand how computers work on the side while also tackling a challenging CS curriculum.
But, yes, I'm pretty sure that making up for not having hacked around with Python code in high school is a way lower bar than making up for never having taken piano or violin lessons.
It's a bit of both. For the most part, we encourage students to explore new interests and even set themselves onto a completely different track in college. And, for the most part, STEM majors assume nothing beyond interest, aptitude(?), and standard HS coursework.
At the same time, I agree that programming (if not necessarily CS) has a sufficiently low barrier to entry these days that some exposure prior to settling on a CS degree seems like a reasonable expectation, especially at more elite schools.
ADDED:
>And if you're right that mechanical engineering schools no longer expect students to have been tinkering around in their spare time previously, is that actually good?
Certainly when I went to school, there was no expectation of any real prior exposure to STEM in hobby form or otherwise outside of high school courseware.
> Today, if you want to be a mechanical engineering major there's no expectation that you lived in a machine shop all through high school or otherwise spent all your spare time in hobbies related to your college major.
Really good point. As someone who grew up with computers and programming, despite loving all of it, there is a bit of pressure to continue to work on side projects constantly. In reality, I don't think that the majority of developers do (at least in my experience with coworkers), but maybe it's more of a vocal minority. Nevertheless, that pressure is still there.
My mechanical and electrical engineering classmates work on a side project from time to time, but it does seem like there is a lot less of a focus on lots of projects being completed.
I haven't worked as an engineer for a long time but I got a degree in mechanical engineering. Truth be told, I never had a hobby of fiddling around with cars or doing most of the other stereotypical things that mechanical engineers are "supposed" to do in their free time.
> Whereas, a lot of CS curricula today at least implicitly assume that you're comfortable with computer command lines, basic programming, etc. And, if not, you'd better get up to speed in a big hurry.
I graduated a CS program in 2013. In my program there was no assumption of familiarity with the command line. I specifically remember several lectures about how to navigate a file tree on a command line, how to run programs on a command line, what STDIN and STDOUT were, what pipes were, etc.
Also graduated in 2013, not in CS but in a related major. I'll say this: no, as far as the school was concerned, you didn't need to know anything going in, but the people who had no familiarity with the command line or computing were obvious to pick out of the crowd and those same people tended to struggle later on. The ones who did well were the ones who had sought out that foundational knowledge on their own.
I'm sure it varies. There are certainly "Intro to..." MOOCs out there that mirror in-person courses that basically jump right into theory and just reference some Python (or whatever) textbook. And the discussion boards are filled with people obviously completely out of their depth with even getting started.
There are, of course, other courses more pitched to people with no experience at all. And presumably in person there are TAs and fellow students who can help someone who really doesn't have any background in programming, setting up programming environments, basic OS functions, etc.
The observation re: engineers who never set foot in a machine shop is actually a real problem in industry, and a common cause of antagonism between engineers and the victims of their designs and drawings: machinists and fabricators.
There's a huge class divide in engineering between designing the the thing and making the thing, despite the fact that the two activities might require equal skill in different ways, or that sometimes making a thing to spec might be harder than doing the design work.
The best engineers have mechanical and process sympathy.
And, ironically, the better the school the more theoretically focused the curriculum tends to be. That said, I did take a manufacturing processes course (basically machine shop plus some related theory) undergrad and I did have project-based classes that involved actually designing and building things.
I think part of the reason is better schools are more selective and assume better students that will be able to pick up the shifting practice easier while the theory may last a lifetime for them. Needless to say the assumptions may not always hold.
I don’t follow the argument. OK, CS assumes some knowledge. What’s that got to do with why WOMEN don’t go into CS? It’s only relevant if you start with the same assumption that the student has - mostly boys like programming, therefore women don’t gain the knowledge required to go into CS. But that’s just a tautology: women don’t like CS because they don’t like CS.
Things arguably changed in the early 80s with the rise of PCs and gaming. While programming certainly existed before that, it wasn't something that most kids were exposed to in high school and CS curricula in general were heavily theory oriented and often in the Math department.
Today, if you want to be a mechanical engineering major there's no expectation that you lived in a machine shop all through high school or otherwise spent all your spare time in hobbies related to your college major.
Whereas, a lot of CS curricula today at least implicitly assume that you're comfortable with computer command lines, basic programming, etc. And, if not, you'd better get up to speed in a big hurry. Because most people in your class are up to speed and program for fun. I went through a MOOC from MIT a while back (6.001) and I can't begin to imagine working through that from a baseline of maybe one high school course.
ADDED: And, of course, you periodically see a similar attitude reflected on forums like this one when people argue that they won't hire someone without a GitHub repo who programs for fun nights and weekends.