When all things are equal, inequality reflects failure.
Virginia DeBolt responded to my earlier writing about technology education being broken with a post about Educating Women in Technology. She references two innovative programs: New Horizons, at Mills College in Oakland, California, which teaches computer technology to those with a non-technical background; and the University of Colorado’s Bachelor of Innovation degree.
Though I agree with Virginia that both programs are an excellent step in the right direction, they don’t address the fundamental issues that lead to what I consider crippled and ineffective computer science university programs. Take, for instance, the New Horizons project: it provides a way for people with a liberal arts bachelor’s degree to get a Masters degree in computer science. It’s open to both men and women, but unlike traditional computer science courses, there are many more women than men.
Much of the emphasis of the program is providing a less intimidating environment. Borrowing Virginia’s quote from a San Francisco Guardian article on the program:
Introductory CS classes at most universities “act like weeder courses,” scaring away all but the most confident students, [Mills computer science associate professor Ellen] Spertus says. Typically, up to half the students fail or drop out of introductory CS classes at other institutions. Spertus says this phenomenon hits women hardest because they may have less computer experience as well as less confidence…Spertus finds that many students going into her program suffer from low self-esteem — especially female students. She says they’ll be earning A’s in the program’s classes but will be convinced they’re not doing well and somehow “don’t belong.” Her teaching style, simultaneously rigorous and nurturing, helps change their opinion, she hopes.
I agree with the sense of ‘not belonging’ that many women experience in traditional computer science programs, but I disagree with Ellen Spertus that lack of confidence is a major deterrent to women in computer science. Women make up half, or more, of the students in several different extremely rigorous and/or competitive fields at many universities: including mathematics, medicine, law, most of the sciences, business, and others. Unless we think that computer science only attracts the less confidence, we should consider that there are other factors in play. These factors may lead to a growing lack of confidence, or may be perceived to be based on lack of confidence, but I would say that this is more an effect than a cause.
The New Horizons program is successful in that the many of the cultural issues associated with the field are eliminated, primarily because most of the students are women. Mills College is a college for women, and though this program is open to men, I would bet that most men would find it uncomfortable to get a degree, even a Master’s, from a college that is predominately a women’s college. As such, the program stays dominated by woman, and that’s one factor thats significantly different from other comp-sci programs. More importantly, the program also provides a very effective environment for women and men with families, jobs, and other non-academic priorities–something that wouldn’t be tolerated in most computer science programs. Actually, it wouldn’t be tolerated in most academic programs, which are, more or less, geared to the mindset of an 19 year old male from an affluent family.
(I also don’t know if I agree with the statement about computer science being a lucrative field, with globalization’s massive impact on this field.)
New Horizons is effective, but this approach is more of a bandage than a solution to a problem. We can’t continue the ‘separate but equal’ routine of dealing with the problem of astonishing lack of diversity in the computer field. Leaving aside culture as the only determiner–because after all if such is the sole criteria for women in college, than wouldn’t this also impact on women in law and women in medicine?–those components of computer science I consider especially broken have less to do with how the environment is managed, and more to do with the subject, itself.
Computer Science suffers from an early and inappropriate association with engineering, another field that tends to be massively male dominated. In fact the two fields, computer science and the different flavors of engineering, are always the departments in any college that have the fewest women students. Because of this early association, there’s a strong engineering bias built into the field of computer science: a bias that doesn’t necessarily make it a ‘better’ field, numerous books on the subject aside.
We assume this engineering connection makes the field of computer technology better. Why? Because the people in the field most successful are those more capable of adapting to the odd and pervasive cultural and linguistic biases inherent in engineering. Since the most successful people in the field are the ones most likely able to establish a pattern of what are ‘good’ or ‘bad’ computer science practices, an engineering bias (evidence of membership also demonstrating a gender and a cultural bias) has been interwoven into the field in such a way that it’s almost impossible to be able to view the practical application of computer technology separate and apart from engineering practices.
It is an inappropriate blending of fields; a coercion of the natural growth of computer technology. It’s like visiting a relative and wearing his or her clothes: they might seem to fit, but you’re never completely comfortable because you know the clothes are borrowed.
A good example of the engineering influence in computer science is the linguistic bias inherent in programming languages. Grace Hopper was the first to promote the concept of an English-like syntax when creating computer programs. Her work ultimately led to COBOL, which has been the butt of jokes and criticism since. One such criticism is that COBOL is excessively verbose. This is interesting when you compare it with the newer generation of languages popping up in the field just at a time when not only has the numbers of women not been increasing–our numbers have been shrinking. In particular if you follow a sequence from Perl to Python to Ruby, there’s one obvious trend: the language is losing its verbosity. Ruby is so stripped down to the barest minimum to support the programming constructs that you could almost write a complete weblogging tool in 20 lines or less.
This lack of verbosity makes for shorter programs, and less time to write such programs. However, the language is also incredibly cryptic.
Programming constructs such as this may strip away the ‘fat’ that English or other linquistic components add to other language variations, but at what price? I wrote someone once that when I first saw a ‘larger’ Ruby application (larger being relative), my first thought was: this is a language written by men for men.
A better way of saying this, though, is that this is a language that favors a certain mental bias; one that’s pervasive in engineering and that heavily influences computer science, both in an educational sense and in practice. It is a bias that favors a more mathematical, or perhaps spatially holistic would be a better term, view of an application over a more verbose, verbal view of the same.
Spatial over verbal: where have we heard that before?
We’ve all heard the results of controversial studies that report cognitive differences between women and men in two main areas: women have greater language skills, while men have more spatial acuity. Of course, many of these studies are flawed, with samplings too small to really understand what constitutes a ‘significant’ difference. It’s also difficult to strip out the environment; to deny that boys are more encouraged to indulge in solitary past-times such as taking apart the toaster or working on the car; while girls are encouraged to spend time, even hobby time, with their friends.
Regardless of whether there really is a gender bias when it comes to language and spatial reasoning, programming languages–from COBOL to C, from BASIC to C++, Java and PHP to Python and Ruby–do reflect a cognitive bias: either exhibiting a bias towards the verbal or a bias towards the spacial; a bias that can impact on how well a person uses the language, or more importantly, how comfortable they are with the language.
A better explanation of my initial perception of Ruby would be that it’s a language that’s biased towards those who favor the spatial over the verbal, and I’m most comfortable working with a language designed for those who favor the verbal over the spatial. Not to say I can’t learn Ruby or Python, and even grow to appreciate and like both. However, it’s like putting on my cousin’s pants: they might fit, but I’m never going to be as comfortable in them as my cousin.
The Wikipedia article associated with computer programming has an interesting remark:
Another ongoing debate is the extent to which the programming language used in writing programs affects the form that the final program takes. This debate is analogous to that surrounding the Sapir Whorf hypothesis in linguistics.
The quote has to do with linguistic determinism, whereby the language we use determines how we think. There’s disagreement on this, and studies supporting and studies refuting, but it is a fascinating subject. Made more so by extending it to the computer languages we use, and how they impact on the overall structure of a program. Again, are programs such as Agile arising because of the fact that our practice of technology is skewed to a specific bias, not to mention personality?
Perhaps we’ll find that object-oriented development is really an outgrowth of a bias toward the spatial over the verbal, and that we’ve managed to create an entire field that consists of one gigantic human filter. We don’t know, because we’ve never thought to challenge the disparity in the computer science field based on the development of the subject, not just the environment.
That’s why I say the computer science field is broken, and rather than focus purely on environment or culture, we need to examine the myriad ways in which it is broken, recognize each, and find solutions: we can’t depend on providing ‘warm nurturing environments’ as being the end all, be all solution for every problem.
For instance, if the computer science programs were split up in universities, with computer technology incorporated into other fields such as philosophy, library science, psychology, math and so on, we might find that each field ends up with its own programming languages–like a suit of clothes custom made for fit and comfort, compared to buying off the rack or worse, borrowing from our cousin, who has the worst taste. The Bachelor’s of Innovation somewhat reflects this, but again that’s seen more as an interdisciplinary field than realizing that computer technology is a part of lives, is a tool, and how we teach it should reflect this.