#2 is off. The article says "the Bureau of Labor Statistics says that we don't need many more software developers" but the link provided (https://computinged.wordpress.com/2012/05/21/we-need-to-prod...) says we need loads of software developers, but not as many programmers.
From reading the BLS descriptions and some discussions on the programmers stack exchange I'd say programmers as far as the way BLS describes it are essentially intern/entry level software devs. They need someone else to give them direction. http://programmers.stackexchange.com/questions/4951/what-are...
Very interesting. The gender data for AP tests in particular, as it seems to suggest that there's a strong self-selection bias at work years before people start applying for tech jobs. Identifying the reasons behind that and persuading otherwise seems like a particularly important area for women in tech groups to focus on.
I'm surprised it isn't clear to more people that we need to be addressing gender imbalances in CS at a much younger age.
Anecdotally, many people get into computer science originally because they're interested in programming because they like the idea of, for a major instance, creating video games. Surprise, many of these kids are male. Added to this is a general STEM selection bias.
So we need outreach about careers, opportunities, and the fun of CS and programming, much younger, and targeted at groups like girls who would otherwise be less likely to try it out on their own. Address our diversity issues from youth up rather than when it's too late.
This NPR podcast posits that the source of the current male / female divide in computing began in the early 80s as a result of home computer and videogame marketing. It's definitely worth a listen.
The only issue I have with the AP data is that it is so sparse. Based on the circle-sizing on that graph, the number of samples is tiny compared to the other subjects, and there is a definite bias for the outliers in both directions to be the tests with the fewest samples, while the tests with the most samples tend to converge on the parity line.
My understanding is that AP computer science is basically on life support right now and may be dead entirely within the next few years. It is probably a poor metric for measuring early interest in computer science.
I'm a high school student taking AP CS right now. At least anecdotally, the main problems with the program are curriculum related and instructor related.
The curriculum sadly is very fine-tuned to an obscure Java-dialect created specifically for the course. Though the program does teach basic principals of CS, there's a great deal of time wasted on this weird little platform; obviously, most high school students these days with technical inclinations would rather learn more open and directly applicable platforms to learn.
The even greater problem though stems from the instruction, which I would argue is derived from the aim of the course itself. There's a very heavy focus on teaching to the test, as in the AP system teachers are rewarded for having high-scoring students. This means there's a lot of bland dissemination of facts and non-trivial projects are few and far between.
The thing is, there's so much more to computer science and even software than just programming. Many "CS" instructors don't even understand that! Data structures, algorithms, discrete mathematics, algebra, the list goes on. Yet, the AP CS curriculum seems to have been adapted from "Sams Teach Yourself Java in 21 Days" (at least, that was the case when I took it back in 2006). It's rudimentary coverage of the basics of programming in Java, along with some idiosyncrasies of Java syntax, and nothing else.
Furthermore, the instruction mirrored the poor instruction in mathematics. "Here, memorize this template for writing a loop. Then, when the test asks you to write a loop, regurgitate it." Like too often in mathematics, there was no emphasis on understanding, but rather the emphasis was on rote memorization.
With the combination of contrived examples, shallow coverage, and poor instruction, it should not be a surprise that so many students are disinterested in computer science. Not to mention that Java is an exceptionally poor choice for an introduction to programming (the AP curriculum used to use C++, which is also a very poor choice).
(As a tutor, I've had good luck with Scheme, and I've heard from others that Python and Lua are also good choices. You could also kick it old-school with a structured BASIC dialect (which is how I cut my teeth) or Logo, if you can find a suitable implementation.)
Yep, I too think the class needs a total redesign. It fails to cover a lot of what actual computer science is for some poorly put together subset of Java taught as what's essentially magic (the same kind of problem with a lot of elementary math education). Sadly, the class has changed very little since it was first designed. Most of the course material hasn't been updated significantly by CollegeBoard since around 2005. I think they really should redesign it with a language more suitable for teaching basic computer science, like Scheme or Python. But even more so, they need to design the course to be more understandable to those without previous programming experience, because AFAICT 90%+ of the people who don't fail the AP exam with a 1 or 2 already know most of the course material coming into the class.
> he thing is, there's so much more to computer science and even software than just programming. Many "CS" instructors don't even understand that! Data structures, algorithms, discrete mathematics, algebra, the list goes on.
That's completely correct. Although, it's because most "CS" instructors majored in english, history, or math in college. They were pushed into teaching computer science and sent to a "learn Java in 4 weeks" summer training.
They are doing the best they can with what they know. We either need more computer science majors to take up teaching, or we need better training for non-computer science teachers to actually learn computer science (but not too good training, otherwise they might get a "real" job doing computer sciencey things)
That's a very good point. However, I think even an english/history/math/whatever teacher could make a decent computer science teacher with the proper training. "Learn Java in 4 Weeks" is emphatically not the proper training. You're absolutely right, and it's a shame that no one is willing to invest in computer science education.
The new program being launched is even more disappointing -- it's basically just "working with computers". It briefly touches on some slightly programming-related topics, but it also includes things like photography, etc. It might be a great way to interest people in computers, but it's not relevant to computer science and it's not going to help repair the computer science program.
Also, as another high school student taking the course, I've experienced mostly the same as you. Coming into the class with my own experience makes it clear to me how poorly planned out it is. The textbooks and specific Java dialect used are completely outdated and focus too little on a lot of the important things. Combine that with poor training and tools for teachers, and it seems like a good 50% of the class is completely confused on what's going on. Honestly, the course itself seems very off-putting to somebody who wants to study computer science in the future. I personally know lots of people who have chosen not to pursue further comp sci education after shitty experiences with that class.
I realized this in college when my dean sat me down after my complaints about a professor:
You go to school for your diploma/degree. All too often school has stood in the way of my education. There's MIT OCW and Stanford CS classes out there, among I'm sure so many others, that can help you get that solid foundation you want.
I teach CS in middle and high school. Have not wasted any time on Java. My students get basic fundamentals then they are encouraged and lead to explore open platforms, frameworks, tools to solve problems. They seem much happier about what they're learning and it seems to 'infect' their thinking in other classes.
Meanwhile their peers in other schools where Java is the only curriculum are struggling or dropping out.
My ~1990s CS12 AP exam was in Pascal, and was similar to a petty reviewer who wanted to make sure I could code trivial things on a whiteboard. (Reversing a string in place.)
My AP teacher was a math teacher who'd taken a 2-month summer in how to program and nothing about how to design systems before programming.
It has proved just as irrelevant as I imagine yours will.
The biggest issue with computer science education is that "studies have shown" teaching people with no computer science background how to teach Computer Science leads to better retention of computer science teachers (ie, they don't leave for a better paying job in industry)
That means that many (most?) computer science teachers have no training in actual computer science except a 4 week summer course in "how to teach computer science".
Heck, there's a math teacher at my school finishing up a degree in computer science and he told me "I'm graduating in May and then I'm outta here." and he'll probably get a job that pays 2 or 3 times as much with better benefits and better hours (yeah, even counting "summer vacation")
The college board doesn't offer any curriculum, they just give guidelines of what will be covered on the AP Test. Most of the curriculum that you can buy is pretty poor (as you've experienced)
I'm not entirely sure what you mean by "obscure java-dialect created specifically for the course". That smells like something coming from your teacher/the curriculum your school bought. College board uses a "subset" of Java 1.6. It's regular java (albeit an older version), but limited to only using the int, double, and boolean primitives and ignoring auto-boxing. You can use char, float, or even auto-boxing in the open response portion, you just won't encounter a multiple choice question covering them.
There are for sure better languages that could be used for teaching but at some level the student has to know the syntax of an if-statement and the syntax of a for-loop. From your perspective, it seems like your teacher is just hammering the basics and not giving you anything challenging. I imagine that is happening because many (most?) of the other students in your class can't write a syntactically correct if-statement or they try to use a for-loop when they should be using an if-statement (and aren't writing the for-loop syntactically correctly either)
You could say that teachers are being "rewarded" for having high AP test scores, since that'll keep them from getting fired. There really isn't any reward.
As far as AP Computer Science Principles goes, you may enjoy that class more than AP Computer Science A. It will all depend on which curriculum your school goes with (there are several companies pitching themselves to schools right now) and your teacher. That class is project based and it can be whatever you make it to be. (However, there will be a lot more writing in it than you might expect... and there is a good chance it will be Scratch based since the emphases isn't on programming but "creating").
Long story longer, computer science education isn't going to get better unless people that know computer science come to teach people computer science. As it stands, computer science will continue to be taught by english, history, and education majors and they will do their best, but their best will mostly be teaching the syntax of Java and how to pass the AP Computer Science test.
It's an interesting set of points, but damn, this article is really difficult to read. The light text colour and the tiny font size means I had to basically squint at the screen to make out most of it.
i'm guessing this is tongue in cheek, but i think it's actually a good idea. though i think the gender bias that keeps women out of traditionally male-dominated fields is usually more pernicious than the bias that keeps men out of traditionally female-dominated fields [0], the latter's still a problem worthy of addressing. men shouldn't feel odd about wanting to be nurses or teachers or house-husbands or any of the many things that are not traditionally seen as male roles.
also, the article for the "top 10 myths about teaching studio art drawing" would probably be more appropriate for a journal on studio art drawing. the ACM should be concerned with gender bias in the computing world. it doesn't have to be concerned with gender bias in studio art drawing just because you want a witty counter-example to show that gender bias against women isn't such a big deal (because actually, it is).
[0] i think bias against women is more pernicious because there tends to be less bias against men in this regard, and so any one incidence of bias is less likely to be terribly detrimental to their life overall. a gross generalization, obviously, but i don't think it's off the mark.
>If you think that some students just aren't "wired" to program, you as a teacher are unlikely to do as much to help them learn. //
So, is true but you mustn't think it? Or you have to pretend it's not?
I don't think their conclusion necessarily follows either, seems a possible outcome but some teaching is all about enabling the least "gifted" (and this can tend to fail at stretching those who appear to have a natural propensity).
Of there really no genetic element to intelligence?
No its your responsibility to keep encouraging and pushing people even if they're clearly not naturally attuned or have no interest. Then push them towards higher education, where they can spend half a decade of their life and accrue tens of thousands of dollars in debt all to work against the grain of what they're good at and enjoy. Then they can be thrown in the tech interview washing machine cycle which might as well be an IQ test which no amount of education will change, bouncing around until they find a mediocre job they hate or until they ditch the field entirely. More people that slog through a STEM degree are doing completely unrelated work than ever before.
It's blatantly obvious that some people seems to be particularly gifted in various areas, such as writing, art, or music. Clearly hard work is involved too.
The scientific consensus seems to be that intelligence is hereditary to a large degree. Probably a lot of other abilities too such as musicality. My own anecdotal observations indicates that musicality appears to be hereditary, which is especially noticeable in pre-school kids. (but yes, environment is clearly a factor too, etc.)
But still, the evidence points in a certain direction.
Why would this not extend to software development skills?
Just the connection to intelligence alone makes large groups of people unsuitable for a software development job, as it definitely requires above-average cognitive skills to be a great developer.
Sure, everyone can learn to play the piano. But it's not enjoyable to listen to all of them...
Having said that. I think there is much to gain from attracting non-stereotypical maths-geeks into computer science or rather software/systems engineering. I genuinely think that some of the stereotypical traits are impediments to becoming a great software developer.
And also. Everyone should learn how to code, at least just a little bit, as it is good for you, and it's important to understand how the world works and it's limitations and possibilities.
There is obviously inherited factors for all basic cognitive abilities. Humans varies.
But cultural factors, bias, training is what start to have impact at birth, what we can leverage. The scientific consensus seems to be that culture/education/context/opportunity is the major factor when concerned with two standard persons (average cognitive abilities at birth).
I didn't personally read any cognitive science studies that validated the existence of some people having superior cognitive powers. It appears to be quite grouped at the center, with outliers with very specific talents ("savants").
So let's use the Ockham razor and go for the most likely explanation when learners struggle with any subject: they are not given the right learning process.
It has most probably nothing to do with how their brain is wired, because statically, it is most probably very similar to any other brain picked randomly. (As is our genetic code apparently. Two random humans on earth have a very closely similar genetic code, more than was expected at first).
For example I have a deplorable sequential memory: I can't really well memorize songs or karate katas. I blame my total lack of musical and dance education. I never really trained for memorizing sequences… Of course I could point to some innate genetic flaw, but this seems like a less likely explanation given what we know about the brain plasticity.
>So let's use the Ockham razor and go for the most likely explanation when learners struggle with any subject: they are not given the right learning process.
Strange, I came to the conclusion that people not interested in a subject won't retain information about that subject because they don't care about the subject.
I can think of several topics off-hand that no matter how someone tried to teach me, how many resources they gave me, or what the "learning process" was designed as: I wouldn't care to learn a thing. Zilch. I'm not interested, kindly buzz off and let me do things I'm actually interested in.
Actually - that's exactly why I dropped out of school in freshman year and became an autodidact. I was sick of others telling me what to learn about and thought my time would be better spent teaching myself about things I actually care about.
I 'lucked out' and got a job I enjoy doing things I enjoy because I did things I enjoyed instead of things I didn't enjoy. I'm puzzled how other people could reason to themselves that the reason I didn't become a doctor or a lawyer was because of the learning process and not because of my complete lack of interest.
How come the learning process is only relevant to STEM fields? Especially "tech"?
I didn't get much musical training either, but I used to keep myself entertained by replaying entire albums in my head while walking to school. (Probably not very accurately - but still.)
So I think this is very much about how the brain is wired. There's a level beyond which it absolutely isn't learned, either in ability or - more critically - of interest.
Compare with dance, where I had similar problems with memorising moves until I did an extended weekend immersion and broke my brain for a few days. It got easier after that, but I'm still at the slower end of any class.
I'd guess a lot of people on HN have always had a deep fascination with technology. If you have that kind of draw to a subject, you're not going to be stopped by parental disapproval or negative messages from teachers.
Negative messages will make it harder, and lack of resources will certainly kill you more than anything else will.
But the interest has to be there in the first place - not in a "I guess that might be kind of interesting" way, but in the "If I don't do this I'm going to be really fucking unhappy" way.
But if two people are subjected to the same learning, and one struggles and the other one is not, then that is an indication of ... what? bad luck?
Sure, you can enhance and boost your memorizing skill, but there is a limit how far anyone can go - and that limit is based on your physics. Which is always heretical with varying amount of randomness in the process.
>For example I have a deplorable sequential memory: I can't really well memorize songs or karate katas. I blame my total lack of musical and dance education. I never really trained for memorizing sequences… Of course I could point to some innate genetic flaw, but this seems like a less likely explanation given what we know about the brain plasticity. //
I trained at piano for about 7 years and played for my own enjoyment for about 4 more (then moved from having a piano to play). I still can't keep a rhythm, still struggle immensely with recognising note progression.
My son has been in a choir for 2 years (he has a musical mother) - from the outset he could find the right pitch, match rhythms, keep tune with others, etc..
Other son, started with choir - he has no ability for tunes, lacks rhythm, etc..
They have a very similar upbringing, very similar schooling, we dance with them, sing, play tunes, have instruments for them to mess around with. One of the children resembles me in their musical ability; the other my wife. My mother had the same problems with musicality, her sister became a music teacher and played many instruments, my mother like me can't keep a tune or continue a beat.
Now I don't doubt that the second son can improve their ability, just as I have; but like me I expect them to be unable to shake off the lack of natural ability. Ultimately they're unlikely to make a career in music - but I do and will encourage them in it as it's been and continues to be an important part of my life.
This is just an example, I suspect it works in other fields too; certainly in other creative arts it seems to.
I consider that it matters very little in these instances whether the ability is entirely innate or whether it's down to certain brain areas being reserved, pathways being fixed to a certain task at an early age.
Aside: Occam's razor is a useful philosophical tool but it lacks any ability to demonstrate the truth in a situation. Much in the world works with more complexity than it appears to need. Look at physics which often progresses by discounting simpler explanations in favour of more complex ones (of course this hinges on the element of "necessary entities" in the razor which actually make the razor useless as one is required to answer as to the necessity of an entity; if you know an entity is unnecessary to establish a proper explanation then you don't need the razor to suggest it).
I feel like on #4 that at least some exposure to rigor is in order somewhere in high school, for everybody. I say that because that would have helped me a lot because I took a lot of math and really grokking rigor made all the difference once I got there. And then both my kids had exactly the same experience.
Is a high school CS course that place for that? Probably not. So I vote for a much tougher algebra course that then of course nobody would ever take.
I've played with the notion in my head of teaching something rigorous (but not arduous) like basic Group or Ring theory somewhere in HS. Perhaps in place of the rather large amount of time spent on the algebra of second-order polynomials? Hard to say. I'll admit I have zero training in pedagogy.
i've thought for a while that a good survey philosophy course would be a great thing for high schoolers. it could introduce a certain sort of rigor (not quite the same as a programming class where things have to run, or a math class where you have to write proofs, but important and maybe easier for many to grasp at first). plus, it'd introduce a wide variety of other belief systems, things like the need to honestly address objections the other side might have, etc.
but a good CS course would be great too, because computational literacy and facility/comfort with computational thinking are only becoming more important for making it through the world and having some control over your own fate.
I agree, along with proofs, intuition, and elegance.
For most of my academic career, I hated math. I was always good at it, typically getting good grades without needing to study. But I found it so incredibly boring, because it was presented as "memorize these rules and formulas, then use them when the test prompts you to".
It wasn't until my third year at university that something finally clicked. I was taking automata theory, and the mix between rigorous thinking, writing proofs, and applying intuition nearly as often as theorems (along with the sudden realization that writing proofs is a lot like writing programs) flipped a bit in my mind. I suddenly loved math. It made sense to me for the first time. And I could look at a proof and tell whether it was beautiful or an ugly hack.
I've got high hopes for the Bootstrap curriculum [0]. I think that kind of interactive, rigorous introduction to mathematics and programming would be very beneficial for students (and the research agrees). If I ever have kids, that's how I plan to teach them algebra.
It was my "third" year, too ( I mucked around and took a year off so ... more-than-three :) But that's when I took the third year courses . Maybe your brain's not ready until then; dunno.
57.3% of UK students are female. The majority of University courses in the UK are at least 60% female. If there is any gender bias in evidence it is clearly biased against men. There are only two subjects where the marked pro-female bias switches in favour of men: Computer Science and Engineering.
I have two daughters and have desperately tried to interest them in maths and computing and understand my enthusiasm for the subjects. They're just not interested. The elder of the two is off to University this autumn to study Illustration (Art).
Personally I am sick of hearing about "gender discrimination against women" when all the evidence points to the exact opposite. Men and Women are different. They have different interests. The only myth is that these differences are down to systemic male prejudice towards women. It's nonsense and it's about time this nonsense started being called out for what it is.
This is a good example of why we say that the plural of anecdote isn't data.
Even if you had two boys, that wouldn't be at all surprising, right? Statistically, most kids aren't going to be interested in computer science. Most children of computer scientists aren't going to go into computer science. Most people don't pick the same major that their parents did, across any and every field.
It's only looking at the broader statistics across all kids that we see these tremendous gender imbalances. It's not surprising that any particular young women aren't interested in computer science, but what's surprising is that practically none are. You can attribute that to inherent differences in interest or aptitude, but to do so is to disregard the strong social signals that programming is "for boys".
If art was as overwhelmingly male-dominated as computer science is, would your daughter still have developed her interest in it in the first place? That's not as easy a question to answer.
I agree that I can't expect my children to necessarily follow in my footsteps, however the point I was attempting to make was that my daughters weren't interested in maths and computing even after having been actively encouraged to take such an interest. (I have a son as well - he's studying Engineering at University).
Meanwhile, you haven't addressed the data that the majority of subjects are female dominated. Psychology for example is 75% female, and yet men are three to seven times more likely to commit suicide than women - yet another gender imbalance that seems to get ignored.
All my life I have heard demands that something must be done about any issue where men are in the majority, but at the same time a deafening silence when the reverse is true.
A recent study has shown that when applying for tenure-track positions in university science departments that female candidates are now twice as likely to be chosen as equally qualified men.
#1 is definitely off, for certain in the opposite direction. There are some people who simply do not "get" software, and never will. And that's ok.
I'm have aphantasia, so I will never be an artist. That's ok. Some people are tone deaf and so will never be musicians. That's ok. Some people are just, let's say "logic blind", and so can never understand how a computer will work through software. They just can't follow it in their minds, in the same way that my mind just can't visualise pictures that are not currently in front of my eyes.
It's important that we don't claim the opposite so that people who discover they have aphantasia, or are tone deaf, or are logic blind don't think there's something wrong with themselves, because if "everyone can do it" but they can't then they must be either broken or lazy.
#7 and #8 can be summarized as "Teaching is the right combination of presentation, participation, and feedback". Lecture is a valuable way to do presentation, but you need to integrate participatory activities such as clickers, worksheets, ANYTHING that gets the student to actively work with the material. And of course, that won't be enough for non-didactic people, so you should plan for how students will get timely feedback. Clickers are one mechanism that let you give immediate feedback, but there are many other approaches.
Ah the Nordic Self-Selection Paradox showing up in AP studies. Not shocking. Notice too that the writer is not horrified that men don't want to join AP Art History or AP Psychology.
As a single male I admit it would be nice if there were more women in CS, but ultimately why does it really matter? Men and women are interested in different things and most women I know just aren't very interested in CS. Is there also a push to get more men into French language culture or studio art drawing? Even though most men would find it boring.
> most women I know just aren't very interested in CS
That makes an assumption about their motivation. Much evidence exists that women aren't "interested" becuase they face exclusion and discrimination in CS and pressure to study more 'feminine" subjects. Why do more women take the Statistics AP exam than men? Also, I think there are now more female math majors in colleges than male (but I don't have the data in front of me).
The same arguments were used, AFAIK, when women were exluded from most of the workforce and from much of higher education: Women just aren't interested in those things. Supreme Court Justice Ruth Bader Ginsberg, first in her class at Columbia Law School, couldn't get a job at top law firms (and Justice Frankfurter turned her down because of her gender, per Wikipedia) at the beginning of her legal career. Now the majority of law school graduates are female - I guess they were interested after all.
But perhaps most telling is that we are talking about women in the third person - this is exactly the problem with a lack of diversity: A bunch of guys are sitting around drawing conclusions about what women experience and think. If only HN was half female - could you imagine the difference?
I can't speak about law, or the way things used to be, but in software dev I've worked with several women and more men. In my own experience the men sometimes chide with each other to the point I've seen other men complain to management about bullying. But I don't see the women being treated that way at all.
In my personal life I often talk about programming to non-devs. Both genders have some people that are completely uninterested, but it's usually the women. Likewise I have little interest in most female-dominated fields. And that's ok.
Maybe things are different beyond my own limited perspective, but that's what I've seen. It may be different in other fields.
A large part of this is culture. My ex-girlfriend grew up with parents who coddled her and her sister, protecting them from many things (a common behavior with female children from what I've seen). The consequence is two very fearful women (nominally) who have strong aversions to technical fields. They were told it was ok they weren't good at math because they were girls.
On the other hand, I've worked with and known many women in adult life, and either they overcame that attitude from their parents and teachers or they weren't presented with that attitude growing up. I can speak with many of them about programming topics (watered down in the same manner I'd water it down with men who don't have a programming background) and bore or interest them to the same degree.
If we, as a society, stop telling people "this is feminine" and "this is masculine" (particularly with respect to fields of study, both technical and non-technical) you'd likely see these things even out quite a bit (though the implied feminine and masculine by observing people's roles in society will still be present).
That's the big question, isn't it? The follow up is always "sure, but how do we know that the reason women aren't interested in tech is because it's perceived as a 'guy thing?'" Nature vs. nurture, and the reality is despite all of our hand-wringing we just don't know. But we do know that there are identifiable biases in our industry (and others) and we should address those regardless of the outcome.
Do you think those subjects are boring? What do you know about them that would imply they must be boring? Everything is boring when you don't understand it. Try watching a game of baseball when you don't know the rules. Or maybe a game of Go. How boring books must be for the illiterate.
From reading the BLS descriptions and some discussions on the programmers stack exchange I'd say programmers as far as the way BLS describes it are essentially intern/entry level software devs. They need someone else to give them direction. http://programmers.stackexchange.com/questions/4951/what-are...