I recently asked a 17-year-old high school senior who is heading to college what she's planning to study, and she said it would be mathematics, biomedical engineering, or some other kind of engineering. She's self-motivated -- says she will be studying multi-variate calculus, PDEs, and abstract algebra on her own this summer. She maxed out her high school math curriculum, which included linear algebra as an elective.
Naturally, I asked her about computer science, and she said something like this (paraphrasing):
"The kids who love computers at my high school seem to be able to spend their entire day focusing on a computer screen, even on weekends. I cannot do that. And those kids are mostly boys whose social behavior is a little bit on the spectrum."
While I don't fully agree with her perspective, it makes me wonder how many other talented people shun the field for similar reasons.
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.
My niece had almost the exact same opinion despite having multiple family members who didn't fit that description, including her mother! It wasn't until I introduced her to some of my younger female co-workers that she committed to being a CS major. She's now a third generation software engineer, which has to be fairly unique.
I've talked to her about it and she can't really articulate why. I'm closer to the nerd stereotype in that I'm on the computer a lot but her mother (my sister) definitely is not. I think it's mostly pop and teen culture still harboring the antisocial stigma. I'll have to talk to her some more.
There is probably some connection with video games, in that boys overwhelmingly play games where girls do not. I don't think the games cause the disparity; whatever it is that draws boys to VGs is what draws them to CS as well.
> I recently asked a 17-year-old high school senior who is heading to college what she's planning to study, and she said it would be mathematics, biomedical engineering, or some other kind of engineering.
I find this interesting. In this day and age I get the impression that whichever STEM field one goes into there will be considerable time spent in front of a computer screen. Whether researching, writing programs, running calculations/models, writing papers, proofs, looking for exo planets, etc. Computers are everywhere :-)
There certainly isn't much practical career differences between studying physics, cs, or math. The best paying and most abundant career opportunities in all of those fields is some form of software development.
It's sort of a similar situation for lots of engineering too, especially those who study fields with tighter labor markets (aero, biomed, nuclear). Lots of young people set their sights on NASA/Boing/GM and end up not making the cut. I've worked with lots of these people during my career.
I don't understand where did this perspective come from? Is it from movies? I've been in this field for 6 years now, and I never encountered the stereotypical nerd in this field whatsoever. Not during my CS course not during my career.
It's a half-true stereotype. I work with people who basically do almost nothing but code or talk about code... and they're in their late 20s and 30s. I've been on dates with software engineers who bring tech stuff to the conversation a little too often for my tastes as well.
Young teens are more obsessive about hobbies so if you're really into computers at that age, that's all you do.
In the real world though, for every person like that, there's ~10 who either don't think about code after 5pm or aren't nearly as obsessive. But it's definitely a thing in our industry!
I used to be like this then my interest broaden a lot when I was about 22. I basically have friends now that I only talk via chat or when I want to talk tech since my old crowd would just chat about it perpetually.
The nerd stereotype is part of it. But there's also a part that runs along the lines of "Why would you go into CS if you haven't been fooling around with computers a whole lot in high school? Because that's what all your classmates will have been doing."
There's probably at least some analog to majoring in music. Sure, you'll probably spend a lot of your time in college learning about musical history and theory but it would probably seem a bit odd--and you'd probably be at a significant disadvantage--if you'd never had any music lessons or otherwise learned anything about music.
" seem to be able to spend their entire day focusing on a computer screen, even on weekends."
I absolutely can and have done that. Many times. In fact, it used to be most of the time.
But I'll admit that the majority of the programmers (or other IT, for that matter) I've worked with didn't seem like people who went home and played on the computer all night and all weekend.
To be honest, I fell into that when I studied computer science in college. I just realized I couldn't sit in front of a screen for 7-8 hrs a day without many breaks. I decided to go into medicine mid way through.
That being said, I'm realizing now that doctors spend a ton of time in front of a screen as well..as are many professions now a days.
I'm not a SW engineer by training or profession. However, that I can deal with computers/programming at all has been a mixed curse/blessing for me. Typically, if a computer problem comes up, I'm the one to deal with it, simply because no one else can.
That means I've learned 'enough' about a lot of obscure topics to really get into trouble.
Honestly, I hate it at the time, but in the long term, it means my career is pretty alright. Still, I agree with the young lady's dislike of staring at yet another incomprehensible screen for weeks on end. It's not why I got into what I did and it's a bit of a waste of my attention.
This is definitely an issue, and well put by the student you spoke to. Who wants to be surrounded by odoriferous, socially challenged young men, in any scenario? I occasionally consider myself as part of that group, and I'm irritated just thinking about us!
What knowledge could be worth the risk to your social life, computers!? You'll make more money and meet more interesting people elsewhere. Even just across the hall, the math class looks like they're having much more fun.
CS 101 should be cracking the enigma machine and defeating the damn nazis, not writing Python (Bleegh!).
The computer screen and keyboard is just the interface. It’s the tools that you must use to access the computer (for now).
The real magic is in the ideas, the thought processes, and the algorithms that makes the programs come alive. You can scratch this out on a chalkboard, if you want.
You’re like a magician, that is able to synthesize something, from really nothing, except a bunch of bits organized together to mean something.
On the flip side, these folks spend hours on their iPhones reading their depressing Facebook feeds.
I recently asked a 17-year-old high school senior who is heading to college what she's planning to study, and she said it would be mathematics, biomedical engineering, or some other kind of engineering. She's self-motivated -- says she will be studying multi-variate calculus, PDEs, and abstract algebra on her own this summer. She maxed out her high school math curriculum, which included linear algebra as an elective.
Naturally, I asked her about computer science, and she said something like this (paraphrasing):
"The kids who love computers at my high school seem to be able to spend their entire day focusing on a computer screen, even on weekends. I cannot do that. And those kids are mostly boys whose social behavior is a little bit on the spectrum."
While I don't fully agree with her perspective, it makes me wonder how many other talented people shun the field for similar reasons.