Wednesday, July 22, 2009

Where do all the geek girls go?

Teaching Summer enrichment classes at ACC for the past two weeks and 3 days has already been a fascinating experience. It's been years since I taught Summer classes, but what I discovered the last time I did it still holds: students volunteering to spend some of their Summer learning tend to be more highly motivated and skilled then their average counterparts in similar classes during the regular school year (duh!).

I am teaching "Creative Computer Exploration with Scratch" to 4th, 5th, and 6th graders from 8 am to 12 noon, and "Games Programming with Python and GASP" to 7th, 8th, and 9th graders from 12:30 to 4:30 pm. Each session runs two weeks, and there are two sessions during July, so we just completed our 3rd day of the second session.

I'm sure I'll be reflecting on my experiences with these classes for some time to come, particularly as they relate to the creation within Arlington Public Schools (APS) of a computer programming pathway -- a sequence of educational experiences for APS students beginning in elementary school and ending in programming careers in Industry. One of the reasons I'm so happy to be teaching these classes is that it gives me an opportunity to impact the early stages of the pathway, which until now I have not been able to touch.

What I want to focus on here, however, is one question, simple to state but elusive to answer: Where do all the geek girls go?

I've been a CS teacher for 13 years now, and I'm acutely aware of the assumption permeating my field that computer programming is a "boy thing". My typical class of 25 students over the years has had at most 2 or 3 girls in it. That has never varied from year to year, and I've seen no recent trend suggesting that it is changing. The attendees at the annual Python conference have a similar gender imbalance among participants, but there I have noticed concrete signs of improvement over the last few years, with more (albiet still very few) women programmers showing up each year.

Despite a keen interest in understanding the causes of this gender inequity and a strong desire to do whatever I can to address it, I have yet to figure out an effective approach. Teaching the Summer enrichment courses has given me new insights into the issue. Here is what I've observed:
  • The number of "geek girls" in the Scratch class (11 of 30) is much higher than in the Python class (4 of 30), suggesting that the geek girls drop out somewhere between 5th grade and 7th grade.
  • The girls in the Scratch class are true geeks in every sense of the word (and in case you haven't figure it out by now, I mean that as the utmost compliment): they have the same interest in problem solving and desire to make a computer do their bidding as their boy counterparts. They also have many of the same geek quirkinesses I've come to expect from the students with whom I work.
  • The girls are awesome programmers. Here is a program that 4th grader Rachel made after three days of using Scratch. I would say the girls have been better programmers on average than the boys, in part because they seem more mature and have longer attention spans.
  • I have noticed differences in the kinds of things the girls and boys want to work on, with boys more interested in games (with lots of bombs and blood and stuff), and the girls more interested in telling stories. No hard and fast rules here. Some of the girls made games with plenty of gore, and some of the boys made stories, but there were clear and noticible differences on average between what the boys and girls chose to do.
  • The girls in the Scratch class seem to be having lots of fun. Several of them spent hours at home working on their projects and learning to use the XO computers we gave them to use during the class. While I didn't do a survey, the evidence that the girls found their work with Scratch and Sugar to be enjoyable and engaging was unmistakable.
So..., where do all the geek girls go? Why don't they continue building on their enjoyment with Scratch to go on to higher levels of computer programming? I don't have any answers, but I do have a few ideas:
  • We haven't been doing Scratch for very long, so we may help open up new opportunities for geek girls by offering this early programming experience.
  • Scratch lends itself to the kinds of projects the girls seemed to find interesting. It permitted them to use their programming logic to become story tellers. The Python class does not support this kind of problem solving very well at all, particularly the way I am presently teaching it, where the focus is on programming games. The Sugar project, which is developing Activities in Python for story telling, may provide help in this regard.
  • We may have particular cultural expectations to overcome, which tell girls, even geek girls, that it is not cool to be involved in computer programming once they reach the middle school years. I've noticed that this cultural expectation does not seem nearly so pronounced in the immigrant and African American student populations with which I've worked, so it may just be historical baggage we have to overcome.
  • A large part of the historical baggage keeping geek girls from pursuing their interests may just be a matter of unlocking the clubhouse door. I've seen instances of boys actively attempting to exclude girls and make them feel unwelcome throughout my years of teaching computer programming. It is certainly the case that part of the effort to include more girls in computer programming classes involves a good old fashioned battle against sexism.
I've got a lot to think about from my Summer experiences teaching Scratch and Python. I am eager to see what I learn teaching the same topics in rural El Salvador this August.

Stay tuned...


  1. Hi Jeffrey. I too generally get very few girls in my programming classes (Scratch, Alice, Python). The girls I do get seem pleased to know that Alice was created primarily for girls. I have the kids complete a short Google Docs form at the end of every lab session, saying what they accomplished. The girls usually write well and clearly express what they have learned. I always ask them if they think the class is “girl friendly” and they say yes, and that they will recommend it to their female friends.

  2. I have noticed the same trends, 50% girls at year 4, none the following year. Girls prefer narratives to action. They tend to prefer to work in a group and boys as individuals. I have collected some links at

  3. I read Carl Dweck, Self Theories, last semester and was impressed by how much change in behavior she could get by reframing tasks.

    It would be interesting to try a few different versions of the programming class descriptions and see if you can inpact the class composition.

  4. The way to recruit tween and older girls is to get girls, who will then invite their friends. I know it for the self-referential paradox it is. To get girls you need to have girls.

    While younger girls take classes based on interests, older girls follow their friends and band together in tight groups. Approaching such a group as a unit, and recruiting them together, is helpful for class organizers. Sometimes it helps to work through parents, as girls are more likely to socialize through their families.

  5. When I was that age, the only hackery I was doing was making websites on Geocities. I liked learning to make them pretty with CSS. It wasn't until 7th grade that we were taught to make webpages...using Frontpage (ugh) which the teacher didn't even know how to use. How to annoy web design teachers: insist on writing your own xhtml and css instead of the WYSIWYG they're teaching with.

    Nowadays, I get stuck thinking that a programming task I'm working on is just too hard, and I'm too stupid. So then I go learn something else. For me, history, foreign languages, and social sciences are a way to run away from the stress. It used to be the opposite.

    There are more subtle things than what boys say to look at too. One of my friends dropped a CS class and switched majors because the boys in her class stared too much. I scaled back my involvement in one development team because the guys leered at me.

  6. Do the girls in your younger class identify themselves as geeks? The boys in your younger class? Same questions for the older class.

    Even if kids do things that older folks like us might see as "geeky," those kids might not self-identify with the geek community - either unconsciously (they're not aware they could identify as geeks) or consciously (they don't want to be thought of as a geek). They're doing something that they want to do - telling a story, sharing a picture of their soccer team, whatever.

    I could have called myself a young girl geek. (I got in trouble for disassembling my hearing aids when I was 6 because I wanted to find out how they worked on the inside. That kind of thing.) But I did not choose to do so; I am not sure if I could have. Not until my teens did I begin to call myself a geek/nerd - and then it was a conscious decision to belong to This Minority Subgroup (and by extension Not Part Of The Majority) - a tough choice for a youngster to make.

    And if you're smart and socially adept enough to play the "I'm part of the mainstream" game - perhaps even well - if you want to, then you really have that choice.

  7. I was going to point you at "Unlocking the Clubhouse" but I see you're already there :) It's an eye-opening book, for sure.

  8. I think you are right - girls go into blogging, site building and other "storytelling" activities. Though my "Math and Art" class this Fall has attracted more teen girls than boys, as well, and my "Math and Physics" class more boys. We may need to develop math storytelling and science storytelling for girls, specifically.

  9. Hello there,
    I am a 9th grade geek girl who programs games using Python and Ren'py (Freeware program with Python support used to make Visual Novels.)
    I remember when I was younger (in maybe 6th grade) I used to go too a game making class during the summer. Out of the 17 or so students I was the only girl there and I remember that all the boys would look down upon me, even the teachers.
    To most older girls in middle school-high school, we tend to see programming as this very technical thing and think "There is no way I'd ever be able to understand something like that.". And Society and our peers tell us that its not "cool" to program or spend free time learning something complex.
    As we get older, too, we tend to engage in more social activities and would rather just hang out with friends than go to a class and learn something, or stay at home and write code.
    I personally love programming. Its a great way to express oneself, and once all those hours of drawing sprites and writing code are over you finally get this amazing thing all your own.
    I really wish more girls could see programming as something like that.

  10. One question I would have is what opportunities do the girls have after the summer programming class to interact with other geek girls? I'm an astronomer, and we have some of the same problems retaining girls (though our numbers are going up!). At a recent conference, I learned that one big factor in retention is having follow-up after a one-shot event (or 2-week event). If the girls had some place to meet back up afterward, or had the opportunity to interact with a mentor, it may encourage them to stick with their interest in programming.

  11. It makes a big difference to get groups of girls to sign up together as friends. Having a little social time and all looking at each others' programs is good too. Invite groups of girls who hang out together and encourage them to pay attention to what the others do. You might also have events that are explicitly social events but are for the class.

  12. I imagine there's a big change in self-identity between those two age ranges. Teenagers are trying to figure out who they are, and the "identity" of programmer or geek is not at all appealing. It's not actually that appealing for boys either, but it has other benefits, like a peer group who accepts you even though you may have all the negative attributes of a geek (e.g., socially awkward). Girls definitely don't get that, though maybe with critical mass it could change some. And there's other benefits that both girls and boys can value -- the fun of creating things, a sense that you are embracing the future, etc.

    And of course many of the people who are drawn and successful in programming are indeed geeky, and it would be... inaccurate to claim that being geeky is all greatness. It's a challenge for anyone to really accept that identity, even though it may be in some sense inevitable, simply part of one's nature. But the pre-teen kids aren't going to be thinking as hard about that. Kids can be pretty blind to a lot of this stuff (especially the geeky kids ;). But as teenagers... not so much. So the very girls who have the most potential in this area are probably struggling with this part of themselves, and unsure whether they should pursue interests like these at all.

    Kind of interestingly, writers and poets and theater people aren't really any more mainstream, and in different ways often glorify their own peculiarness (e.g., hermits and outcasts are respected as writers). And when I think of geeky girls and women, those are the directions they tend to go in. Which I can respect, it's better than being a pretender to mainstream popularity. But these things could also be a good bridge (like the class Maria mentioned, Art and Math).

    People run classes on the Processing language/library (basically a programming DSL for creating abstract images/video/art). I wonder if those classes have higher retention for women in programming?