From observing my own (non USA) CS class, some 20 years ago, (where we had about 30% female), and having visited the campus on occasion since then, I think I see the following in action.

Firstly - there aren't that many courses at college that start with students who are well versed in their chosen area of study. The school of medicine for example doesn't take in practicing doctors - architecture doesn't take practicing architects and so on.

But often a large portion of a computer science class are already proficient programmers, and a sizable number have probably already made money programming in one form or another. In other words they choose this major not because they want to learn, but because they're confident they can _already_ do the work.[ Aside: there is another group exactly like this - the sportsmen - which makes the jocks and the nerds pretty much the same thing - but that's a post for another day.]

So I hypothesize there's a direct correlation between the numbers of those doing programming at school (formally or informally), and those doing it at college level. During school years male and female behaviour is vastly different (programming is very often an outlet for "loners" with poor social skills - which let's be honest are mostly guys.)

Here's the thing though. I grew up in a non-US school where the labeling of people was not encouraged. Also it was easier to foster your own self-identity without belittling the identity of others. Sure we had beefy physical types, and scrawny nerdy types, but at the same time the school went out of its way to validate each person at whatever they did well. Excellence, of any sort, was recognized. We had sporty girls, and nerdy girls and super-bright girls, and (to be fair) some dumb girls - but "the computer club" wasn't some sort of social dead-end.

So to college - where the class was split about half-half of those that had programmed before and those that hadn't. And as I say, about 30% female. So the ones-that-could would spend a lot of time teaching and helping the ones that couldn't. If some of those I helped happened to be female, well that wasn't my fault was it? And if some of the ones doing the helping were bright diligent girls, who helped me apply my somewhat erratic studying habits to actually passing exams - well, it's a win-win.

Of course we had some jerks - and sad to say the raw "jerk quotient" seems to be climbing. But they're jerks to everyone really, and frankly you'll encounter lots of jerks, from both sexes, all the way through life.

My advice to ladies doing CS - find the nice, smart, guys in the class. They're there. Sure they may need some social help - but you can do that. And I bet if you make a little effort you'll find they're _really_ keen for your friendship.

To the guys (and I'm assuming that's most of you reading this post) apply just a small amount of that alleged brain-power you have to consider how you would feel in a class that's 90% female. Now take just a few moments to go be nice to someone. Invite them into your study group. Offer some assistance when they're struggling. Just be _friendly_. They may not yet know the difference between a++ and ++a, but they will. In the meantime you'd be amazed at what they can do for you.

It's a smart man who thinks just a few years ahead of everyone else.