It also doesn't seem to account for the reduction in gender diversity over the past 20 years or so. Around 1990, women were around 35% of CS majors, and today, they're around 17%. What accounts for that drop? I don't think it can be "puzzles and very abstract concepts". If anything, the core theory/systems/PLs areas have declined as a proportion of the overall CS curriculum over that time period, and more applications-focused areas have increased in prominence. Many CS departments now have HCI faculty and classes, for example, which virtually none did in 1990, and there's lots more robotics and other explicitly applications-oriented areas in the curriculum as well.
Not that I know why there's been a decline in women in CS over the past 20 years, either. But I think any explanation of why there aren't many women in CS now has to account for why there were more women in CS in 1990--- despite CS not being that much different at the time, and probably actually more "hardcore" systems/theory oriented.
I was under the impression (and by impression I mean I have no idea where I read this and thus cannot back up anything I say) that the problem was at the secondary schooling level; girls started out with a healthy interest in science and engineering when they begin at 11 or 12, but that interest level rapidly decreases as they move through schooling.
The question is what is happening in the way we're teaching girls that they get so turned off by it? Obviously its not innate, because as you note, there used be a lot more women graduating with CS. I guess there could also be a societal argument as well, but I wouldn't know enough about the cultural norms of 1990 to comment.
Not that I know why there's been a decline in women in CS over the past 20 years, either. But I think any explanation of why there aren't many women in CS now has to account for why there were more women in CS in 1990--- despite CS not being that much different at the time, and probably actually more "hardcore" systems/theory oriented.