I am something of an accidental champion of women in STEM fields. In 2008 two young women in my AP Computer Science class applied for and won the National Center for Women & Information Technology's (NCWIT) award for "Aspirations in Computing." When they won the award, I presented it to them at our school's annual award ceremony and it was the only award given by my department to anyone. These two girls were both excellent students and naturally inclined to computer science in the first place, but they were also really interesting people and what you might call “cool”. The next year almost half of my AP class was girls, and again a girl in the class won the NCWIT award and I called her up on stage, alone, at the school's award ceremony. Since then I've never had a gender equity problem in class. Year after year many girls cite seeing those who came before them on stage as a big reason why they gave computer science a try.
As a teacher I have been really lucky to have outstanding female students who won this award, basically on their own, and who were able to influence other girls to try my class. However, once I had all these terrific girls in my classes, I was filled with dread that I would somehow screw it up. So, I began to look very deliberately at my courses to see if there were any differences between the boys and the girls, what they liked and what they didn't like. Quickly, my eyes were opened to the issues of both gender and racial equality that are crippling computer science, American education, and the nation's economic outlook as well. I don't really claim to have hard answers but I can tell you what I do in my classes, why I made some choices, and why I think these things work.
The first thing I noticed about my own classes is that we don't program many games. This is mostly because for some odd reason I don't play video games; it's a subject I know very little about and therefore have little interest in teaching. Yet, not programming games might be considered something of a controversial move in the CS education community where many schools, facing declining enrollments, have begun to teach game programming specifically as a way to attract students to their courses. But I think excluding game programming, especially for large assignments, has something to do with why I've been able to retain women in my courses: the people who are interested in programming video games are the same people who are interested in playing them - boys, mostly. It's not that women are incapable of programming games, or even uninterested in playing them, it's just that developmentally, at the high school age, boys are WAY more interested in games and gaming culture. When I did once gave an assignment for developing a small video game, the conversation and activity in class was immediately dominated by the boys in ways that seemed to exclude and alienate the girls. This was not the boys’ fault – they were simply passionate about their gaming - but the semi-disgusted looks on the girls faces was enough for me to never try that again.
The big picture is that the discipline of computer science is facing a crisis in numbers. This is probably due to the fact that historically we only seem to attract white males into the field (note to the reader: I'm one of them). Beyond the obvious cultural problems that any field might face from a lack of diversity, there are dire national economic consequences to having such an important field as computer science dominated by one specific demographic. The cold hard economic fact is that white males make up a pretty fixed, if not declining, percentage of our population while the role of computing in virtually all fields is increasing dramatically. This means we don't have enough workers to fill these ambiguous “21st century jobs” that you keep hearing about. We need gender and racial equality in computer science in order for America to remain competitive economically. We need a way to open the doors to more people, and I'm not convinced that game programming is the way to do that.
So how to do this? There are two problems to solve: one is how to get people in the door and the other is how to keep them there. I think these problems need to be solved in reverse because the reality is you're never going to get enough women through the door unless you have some word-of-mouth street-cred from women that your class is not only fun and engaging, but can lead to success and a life-long passion. To get women in the door, in other words, you need to make the experience valuable for the women you've got right now.
My approach is rather simple. I do not pander to either gender, but rather I try to appeal to the innate human appetite for solving problems and being useful and helpful to others. More and more I've been trying to craft my programming assignments to be about solving problems in a variety of domains that are clearly just plain useful. For example, my school just switched to a new daily schedule that many find confusing and students seem to have a hard time figuring out when they have free time in common with their friends. So, some students in my class are writing a cell-phone application which compares two people’s schedules and tells them what common free time they have when they bump their phones together. The satisfaction students gain from developing a program that has some higher purpose beyond mere entertainment, especially when it helps those in their community, is much more profound and might even convince them that they could do this for the rest of their lives and be happy. That’s a pretty infectious feeling, and that’s what I’m going for.
Almost every industry and walk of life these days has problems that need to be solved with computing. Computing problems and solutions are where 21st century jobs are, and it's also where America is losing its edge in the global economy. It is a something of a myth that computerization of industries has taken away jobs from Americans. There are jobs out there. The problem is that Americans are not trained to solve 21st century problems that require computation, and there are not enough people working to solve all the problems we've got. But we can do it! From where I sit I see a pretty dire need for schools to recognize the importance of computer science education and then for us teachers to do our job to make sure that we open doors to a much more diverse set of students than we currently have. Progress is being made, but it’s not going to happen on its own. We need everyone on board. As a nation, the more diverse the population of computer scientists we develop, the more problems we can address and solve, and the more we can remain vital and relevant on the world stage.
Baker Franke is the Vice President of the Chicago chapter of the Computer Science Teachers Association, a group he helped establish in 2008.