Girls Need Math
pacifict.com
pacifict.com
What she never realized was that I've already implemented a 90% similar code twice in the last month in my spare time. Or that after she got off the school to hang out with her friends, I went to the library to do some reading, or write the next module of the awesome game I was developing.
What I'm trying to say is that in my experience the smarter ones is a lazy way of saying "the ones that had more interest and spent much more time on it already than you did". And of course, the argument isn't unique to girls and applies just as well to other guy friends. But in the end, in my experience it has always traced back to raw interest in the topic. So I've always said that girls are not different in any mystical raw Mathematical intelligence way, it's just that for some reason they tend to have less interest in these topics, on average. And why is that? Upbringing and early biases is my best guess - The mother who pulls away the rocket ship from a girls hands and puts in a Barbie is at fault. (But realistically, it is probably only one of the factors.) Worst of all, there is a positive feedback loop involved where if someone thinks they are not good at something, they will only become less and less interested.
For problems this large and systemic, significant corrective action and positive reinforcement are required.
I was friends with one highschooler who constantly showed off his math knowledge. He much preferred to leave people (many of whom were poor) with the impression that he was superhuman, rather than proactively explaining that his father was a mathematician, his mother taught him at his Montessori grade school, and his family was very well-off...
I think a significant problem is the self-aggrandizing way males are socialized. Often to intimidate. This interacts badly with how females are pressured to defer and feel inferior.
The biggest difference I noted didn't have anything to do with what the other students did in their spare time. Rather, the major difference was that some students would immediately ask for help as soon as they ran into any sort of trouble where others would spend some time trying to overcome the problem themselves.
The latter approach is far more important than anything you do in the subject itself--it teaches you the skills you need to solve problems yourself. Forcing yourself to sift through documentation, try different approaches and just sit there staring at the screen and thinking prepares you for similar problems in the future where just asking for help only teaches you how to solve your immediate issue (at best).
This post is gender-agnostic because it applied to both boys and girls in my class. I'm sure there are plenty of gender-specific issues as well, but this was the single most important factor I saw in how well other students did.
What actually got me into programming was a writer (of computer-related topics) praising my absolutely shitty Flash app/game when I was 14 (or maybe 13). It felt really good. Having someone (who is already successful) tell you at that age that you shouldn't care if you're not the best and what matters is how much you try means a great deal. It did, at least to me.
It's really a cliché article, but I'm glad it made it to the front page. Amidst all these Big Co nonsense articles.
We have a good collective of students who hang out after class ends every couple days to discuss & practice Cyber Security. The unfortunate problem is that the majority of the guys overshadow the girls so much in regards to behavior that we have to do similar motivational runs to keep people in that deserve to be there. At least where I'm at, there's an air of disrespect that constantly has to get pushed back, lest the truly inspired people leave out of boredom or hatred for it.
Thanks!
We need to do all we can to encourage girls in match/science/CS. The shortage of women in incredible. And it will lead to women not being represented not just in lower-level single contributor jobs, but also at the executive level as men move from programmer to manager to VP.
>We need to do all we can to encourage girls in match/science/CS. //
Why is sex so important to math/science/CS that you must, presumably, aim for a population that is directly representative of the proportions in the wider population.
Presumably you're also concerned that there is an under-representation of men in, oh I don't know, 'family and consumer science'? If not, why not?
I think it's important to have somewhat equal representation. First, we have a shortage of developers so this is an easy way to address that. Second, like the subject of this article, a lot of girls would be interested in CS but because of the lack of women they're turned off. This is a real shame. Third, CS people are literally designing our future. Do we want to live in a world as envisioned by men or as white men or as a fair balance of people?
Why do you choose one particular subgroup to be concerned about?
[1] The number is, however, very small in comparison to 2^(6 billion).
Your criterion also says we should not be concerned if a minority group (e.g. black people, people with ssn % 7 == 2) is underrepresented.
First, and pedantically, your statement "are poorly represented among developers" doesn't make sense as I don't know what "representation" would mean in the context of arbitrary subsets of humans.
Admittedly, you could phrase it as "developers are poorly represented in the subgroup", and it would work, but given that you phrased it the way you did, I feel like you didn't really think through what you were saying.
As for why the particular subgroup in question is special, well, it has an important quality:
If you ask people to construct a model of a human in n dimensions, I guarantee you that almost everyone will include "gender" as one of those dimensions. So, it's an important characteristic.
Next, wouldn't you know it, this particular subgroup we're concerned with is one where every single member has the same value in that dimension, while every single member of its complement has a different value! Wow, what are the odds!? Among the powerset of humans, there are probably fewer than ~10^5 subgroups where the humans contained therein share the same value in an important dimension of our model. 10^5 / 2^(10^9), what is that, like, practically zero!?
Okay, so now we've narrowed down the practically limitless subgroups of humanity to a reasonable number -- but does that mean anything? Are we on the right track? Holy cow! It appears that humans with this particular value of this particular dimension have been treated completely differently from other humans with another value in that same dimension. This can't just be simple coincidence, we must be on to something here. When we've investigated this in the past and made changes, the collective social utility has increased. Cool.
So, to recap:
1) We've constructed a model of a human by characterizing them by their most important traits, as determined by an extensive survey of humans themselves.
2) We've used this model to narrow down the field of the powerset of humans to only subgroups whose representation or under-representation among developers may mean something.
3) We've seen that using this technique in the past to investigate the subset of humans with a certain value in a certain dimension has achieved positive results as measured by the increase in social utility per capita of that group, with a relatively minor decrease in the social utility per capita of its complement.
4) Yes, it is worth being concerned about this one particular subgroup, because among the 2^(6 billion) subgroups of humans, there might be something easily correctable which yields great results.
You seem to disagree, so I'm asking for a philosophical justification for your beliefs. Apparently it's based on an argumentum ad populum - if the masses consider some dimension empirically meaningful, slicing humanity on that dimension is morally meaningful as well.
Then again, if you want to go down the road of argumentum ad populum, I can guarantee you that everyone will also consider "height", "weight", "hair color", "good looks" and "pleasant personality" as meaningful dimensions to classify humans.
People with high levels of "good looks" and "pleasant personality" are also treated differently than people with low levels of these values, as are people with a high level of weight / height.
Should we also be concerned if, e.g., ugly people or those with an unpleasant personality are poorly represented in some field?
Yes, it is worth being concerned about this one particular subgroup, because among the 2^(6 billion) subgroups of humans, there might be something easily correctable which yields great results.
If you want to appeal to historical discrimination as something easily correctable, we've already fixed it. It worked across the board, but to varying degrees (e.g. women went up to >50% of doctors, <20% of physicists, >50% of journalists, etc).
That's a little grandiose. Actually, that's a lot grandiose. CS people build things to other people's requirements. Even if you're an entrepreneur, odds are you're building Facebook or Zynga to satisfy the passing whims of, more often than not, women.
More fundamentally, there's no such thing as an overarching design for the world. You can't point to anyone and say the world came out the way they planned or intended it in any significant way. The only thing CS people can do is invent things. And inventing things never really reshapes society in a way the inventors can even predict, let alone effectively plan for. Frankly, at the end of the line there's usually someone who wants to make money from it, so as long as women have the power to spend money, some CS guys somewhere will be bending over backwards to invent something those women might want.
It's not being snarky it's questioning whether the parent is interested in equality of opportunity or discrimination in favour of women. That's an important question in my view.
You're dancing dangerously close to a straw man argument here. Nobody has taken a position either way on childcare or nursing.
>"It's not being snarky it's questioning whether the parent is interested in equality of opportunity or discrimination in favour of women. That's an important question in my view."
It's an important question in everyone's view. My point is that it's rarely a valid point that $A should not be addressed because $B is also a problem; especially when $B is a rhetorical fringe case.
When I get in these discussions, invariably someone tries to boil it down to the following false dichotomy: Helping/encouraging/assisting $GROUP_A is discriminating/violating/hurting $GROUP_B. This is never necessarily the case.
I'm confused with what you mean by this.
>It's a problem that should be fixed for everyone.
So because it's not being fixed for someone, it shouldn't be fixed for anyone?
Now as a tactical concern on the road there, there are definitely some men in the system who will not react well to there being more women. Trying to change them with reason will have limited effectiveness. I think what we need to do is put enough highly competent women in front of them that they either have to shut up or look like idiots, thus marginalizing them and their bad attitudes. This will make it easier to get to the natural, aptitude-based proportion of people in the field. This is, IMO, a good reason to encourage well-suited women to go into the field. I don't know of a better way to accomplish the goal of reducing gender bias overall.
It's a laudable aim to help people do what they enjoy as a career. It's laughably naive to suppose that we're able to have most people do something they're good at and enjoy as a career. That unfortunately is not the way that society is structured.
If education works and people have abilities and interests then who does the mundane and uninteresting jobs?
>a good reason to encourage well-suited women to go into the field //
Why do we have to be sexist about it, why not just encourage well-suited people?
It's easy to say that women are just "less interested" in CS/Math, but that's a cop-out. One might point out that a job in a large law firm is often boring and exceedingly detail-oriented (it's kind of like debugging code actually). One might point out that such jobs are also guarded by an entrance examination that depends very heavily on formal logic, something women aren't stereotypical good at. Yet, law firms around the country are full of women.
The problem is not so much that there are not enough women in CS. It's that 40% of the kids who get SAT Math scores of 700+, and 30% who get a perfect 800, are girls, yet top CS programs, which presumably screen heavily for math aptitude, might have only 5-10% girls. Given that CS is such a great way to a solid middle class income, and so many girls clearly have the aptitude for it, I find it very difficult to chalk up their self-selection out of CS to merely "interest."
Or it could simply be true. You're right, there are certainly a lot of girls who are capable of learning math and computer programming. But that doesn't address the interest question.
> ...
> Given that CS is such a great way to a solid middle class income, and so many girls clearly have the aptitude for it, I find it very difficult to chalk up their self-selection out of CS to merely "interest."
Here's the thing. Law is a high-status field. STEM frankly hasn't been until very recently, which is why it's suddenly become an issue. When the tech bubble pops and the rest of the economy recovers, STEM careers will return to low-status and the feminist outrage will dissipate. No one seems to mind that, say, garbage handling or logging are male-dominated professions, though if there was an irrational exuberance for timber instead of software maybe there would be more outrage about women loggers.
Incidentally, women seem to be less underrepresented among CS folks in cultures where STEM professions are not historically low-status. It just seems that women aren't interested in breaking into male-dominated, low-status professions. Who can blame them? It's a lot of effort for very little reward. Women can already get into female-dominated, low-status professions more easily.
The correlation isn't so clear. STEM is even more unpopular among Japanese and Korean women than English-speaking nation women.
But thanks for pointing out that CS is hardly a desirable route to a good and comfortable life unless you love it for its own sake. It requires the same level of skills and ability necessary for a much more profitable and less difficult career in medicine, law, accountancy, dentistry, business administration, public administration, or the like.
NB: I'm taking your comments to apply equally to C as C++, given the prevalence of C in operating systems. If you really would not have said the same thing about C, I retract my comments.
Also I think a lot of tools for example in Linux are written in other languages.
Most likely scenario for using C as a 14 year old might be doing electronics projects, but I think Arduino is most commonly programmed in Java.
int main(void) {
setup();
for (;;)
loop();
}
The actual file does a bit more and can be found in their git repository here: https://github.com/arduino/Arduino/blob/master/hardware/ardu...C++ doesn't have web frameworks, and is big and complicated. If you aren't doing web projects, you can safely stick with a subset(with guidance of course). You mention is not being useful - what is that Python can do that C++ can't? C++ is going to be a bit more verbose, yes, but verbosity is not the only variable. Also, use stl(and/or boost) and your code won't be that verbose. This isn't that bad.
#include <set>
#include <string>
#include <iostream>
int main(int argc, char **argv)
{
// Declare and Initialize some variables
std::string word;
std::set<std::string> wordcount;
// Read words and insert in rb-tree
while (std::cin >> word) wordcount.insert(word);
// Print the result
std::cout << "Words: " << wordcount.size() << std::endl;
return 0;
}It just seems weird to make beginners start with a complicated tool when there are easier tools that can get the same results.
A set isn't necessarily implemented using a red-black tree, most likely its a binary tree of some kind, but why would anyone put that in a comment. It's a set, which just means there's only copy of any repeated 'words'.
I think the reason why c++ doesn't make a good language to teach youngsters is because stl is still a beast of a template library, still spits out garbage error messages and is painful to work with even by the most experienced of developers (25+ c/c++ here)
On the other hand, collections and data structures in python are simple, efficiently implemented and extremely succinct, if the value of a dictionary element contains 2 or 3 elements, or is another dictionary, or a map etc it's simple to do this in python, where as in stl pair<int, int> is great until you need three of them, then its auto_ptr or whatever and it starts to get unwieldy and the poor student trying to focus on the algorithm is now bogged down in the with the inelegance of a low level language.
Don't get me wrong, I love c and c++, but i'd rather teach some python or ruby because they can get stuff done and working and not struggle with tedious syntax.
len(set(sys.stdin.read().split(' ')))
C++ does have web frameworks too! Witty (wt)
That can be done as a perl one liner. The C++ program is pretty reasonable as in it matches to the algorithm.
1. Read words.
2. Add words to a set. Set only has unique elements.
3. Print set size which will give you the number of unique words.
> It's also not that great an example because it begs the question why one moment a set of strings ('words' as variable name feels weird to me because I think in c of word boundaries, but whatever) is set<string> (please use 'namespace std') and next moment its char argv.
Questions are good. Questions aid understanding. You are overestimating C++'s complexity and underestimating a 14 year old's abilities.
> There's no reason to use c/c++ today unless you're coding drivers or very performance critical things.
Personally, I think all programmers should have a working knowledge of C or C++. C is the best simulation of the machine. Assembly is closer, but writing assembly is a pain.
> A set isn't necessarily implemented using a red-black tree, most likely its a binary tree of some kind, but why would anyone put that in a comment.
Copied code from the web. Wasn't paying attention. That comment shouldn't be there. A set should be viewed as an ADT and the implementation shouldn't matter.
> I think the reason why c++ doesn't make a good language to teach youngsters is because stl is still a beast of a template library, still spits out garbage error messages and is painful to work with even by the most experienced of developers (25+ c/c++ here)
STL is a beast, yes, but you don't have to know the whole of it. Regarding error messages, I find clang's error messages better.
> Don't get me wrong, I love c and c++, but i'd rather teach some python or ruby because they can get stuff done and working and not struggle with tedious syntax.
I would teach Python as well. I was taking exception to the knee jerk reaction to C++.
Networking enables the Internet in much the same way the internal combustion engine enabled modern transportation. Yet apparently only one of these topics is considered reasonable for a 14-year-old to study?
I find it baffling.
I know sub-14 year olds who are fluent in C and a couple flavors of assembly language.
Underestimating kids is a huge societal failure. We do it a lot. It offends me.
I'm not sure you read the article, or noticed the comment I was replying to.
Why would anyone not offer a class in hard stuff to 14 year olds?? 14 is not some tender sensitive age where kids need coddling.
Kids that can program in "several assembly languages" (your words) are just outliers in "opportunities offered"?
Even in college, heck, even in CS majors, there are kids that "get it" and kids that do not. So, no kids that are programming geniuses at 10 are not just outliers in opportunities.
Besides, the kids that could not pinpoint their country on the map were ALSO taught Geography. They weren't lacking in "opportunities", they lacked in skills, attention, etc.
>Why would anyone not offer a class in hard stuff to 14 year olds?? 14 is not some tender sensitive age where kids need coddling.
And why would that hard stuff be C++? It's not like it's something good to teach even for adults...
C++ was hard, but I had already fallen in love with the magic of making the computer do things with some VB. As a result, I was motivated enough to fight my way through a C++ book.
Kids need a special blend of internal motivation, external motivation, love, and support. Given those things, I promise you that kids will surprise you. Every. Single. Time.
I've met some 14 year olds at http://www.studentrnd.com that code circles around most college graduates. It's not because these kids are intellectual outliers. It's because they have a place to gather with other smart kids and challenge each other to build something just a little bigger and just a little better.
We need to start expecting more from kids and providing them the opportunities to prove that they are deserving of those expectations.
Well, divide the number of the kids that did the same thing with the kids of the same age that did not do the same thing.
The numerous zeroes after the decimal point will show that you were indeed an outlier.
Also going from C++ to Java is a lot easier (and others I'd imagine too) because C++ forces you to master pointers. And of course, Java is filled with pointers but the syntax hides it.
There is an entry age for learning C++? Tell me more about it.
/s
> Will you teach surgery to a 14 year old?
Apparently high school biology followed by 5 years of undergrad followed by 2 years of grad is the same as learning C++.
Now don't go on a tangent about how CS schools need math foundation and are 4 years and you need grad school for deeper understanding. CS education isn't under contention - C++ is. C++ doesn't need a big foundation. An average 14 year old will pick up C++ just fine.