Politics, cinema, science, and other musings, with cats.On Twitter at @iainrobertsblog.

Wednesday, 10 December 2014

Pinups and teaching to code

I did an online programming course recently; in one assignment, the students could choose their own graphics, and someone thought it was a good idea to use "pinup" images of scantily clad women. This has obvious parallels to the incident known as Shirtgate.

It is another indication that Shirtgate wasn't an isolated incident, but part of a general background of sexism in science and computing. The course included peer assessment; one of the other students flagged the photos as offensive, notified the course organisers, and started a discussion in the student forums.

I'm intentionally being vague about the course and its website, so the participants can stay anonymous. I'd been meaning to blog about this for some time, but Shirtgate makes it more topical. (Example pinup graphic is below the fold.)

I didn't see the offending pictures, but I assume they looked something like this.
Source: Layoutsparks

A number of forum posts agreed the student's choice of graphics was out of order, and should be penalised appropriately by the course organisers -- for example, by a zero for the assignment and a stern warning. I don't know if the administrators took up this suggestion; it was a matter between them and the student, and they could handle the situation however they saw fit. However, if I had been one of the course organisers, that is what I would have done.

Other participants stepped forward to defend the offending student. (It is very likely the student was male, so for convenience I'll refer to this person as "he".) Their arguments fell into three distinct categories.

1. FREEDOM!

Some of the more excitable posters tried to frame this as a free speech issue. In their formulation, freedom of speech means any restriction on what anyone says, in any context, ever, is an unacceptable constraint on freedom.

This is complete nonsense. One poster cited the First Amendment to the US Constitution. Before doing so, it would be advisable to read it. If all forty-five words are too much, just the first five will do:

Congress shall make no law respecting an establishment of religion, or prohibiting the free exercise thereof; or abridging the freedom of speech, or of the press; or the right of the people peaceably to assemble, and to petition the Government for a redress of grievances.

Got that? Congress shall make no law. Has the United States Congress made a law meaning this student can't express his love of pictures of attractive, scantily clad women? Obviously not.

Imagine a young man stands up during a lecture on object-oriented software engineering, and starts making a speech about how much he loves to look at bikini photos, accompanied by visual aids. The lecturer is not unfairly constraining his freedom by telling him to sit down and shut up.

In our wider society, is the right to view and discuss images of attractive young women under threat? It's very hard to make that argument when nearly-naked (or entirely naked) women appear on websites, television, magazines, and billboards as far as the eye can see. That brings us to the second excuse for the student, whose reasoning is the inverse of the first one.

2. Who cares?

This school of thought points out that sexual images are displayed everywhere in our culture, so what more harm will be done by one more?

This is a particular issue in an online environment. Not to put too fine a point on it, the internet is where the pornography is. Young male programmers almost certainly spend a lot of time on websites saturated with sexual images, so to them it may seem natural to use those images in their own software.

Just because sexual images are widespread, it does not follow they should be allowed everywhere. As in the above example of the lecture, there are times and places where they are, at best, an unhelpful distraction. Furthermore, students and professionals should show respect for women as colleagues; pinup pictures send a very strong message that women are good only for decoration. This is particularly important to address in science and computing, which have a very serious problem with sexism.

3. Boys will be boys

The third is perhaps the most insidious. It attempts to sound superficially reasonable, and goes something like this:

Yes, it is a little childish and in poor taste; but this is a young and talented programmer, and we shouldn't make a big deal out of it. He should be supported and encouraged, not penalised.

On the surface, this may sound nice and tolerant, but it's revealing who is being asked to do the tolerating. The hurt feelings of one male are regarded as more important than those of any number of women who have to deal with his behaviour. That seems like a pretty clear definition of sexism to me.

If this programmer is young and talented, it is all the more reason to take this seriously. If he is young, he is not fully set in his ways, and may be open to changing his attitude; if he is talented, he is likely to rise far in the profession, and one day may be responsible for setting an example to others.

Antisocial Geek Exception

At this point, what one might call the Antisocial Geek Exception rears its head. Talented programmers are not like lesser mortals. They are above petty details like remembering not to display bikini pictures in a work environment. They have poor social skills and cannot be expected to understand why they shouldn't do such things.

I have a PhD in computer science, and I am a professional software developer working at a world-class scientific research institute. I speak with some authority when I say, the Antisocial Geek Exception is a load of crap.

I have worked with dozens of immensely talented programmers. Many of them are decidedly odd. Several have extreme difficulty making small talk at parties. All of them know they should wear clean clothes, brush their teeth, and not display sexual images at work.

Of all people, programmers are capable of understanding rules, including ones which may seem arbitrary. Array indexing starts from zero in most (but not all) computing languages. Entries in a list are numbered (0,1,2...) instead of (1,2,3,...). Why is this the case? There are aesthetic and mathematical arguments to justify it, but understanding or agreeing with these arguments is not required in order to program successfully. You simply have to know the rule, and follow it.

If an individual doesn't understand why it's a bad idea to display sexual images in a professional setting, the least he can do is accept that other people are unhappy about it, and take their opinions into consideration. Continuing to offend and belittle people, purely for your own amusement, after they have asked you to stop, is not the action of a misunderstood genius. It is the action of a selfish twerp.

Of course, the above reasoning holds only if the person has been told, in no uncertain terms, it is not acceptable to display sexual images at work. If no one does this, he may well decide this behaviour is all right. Then one day, he wears a shirt covered in images of half-naked women for a broadcast interview, and embarrasses himself, his institution, and the scientific community. This is not a good outcome; much better to head it off early, by teaching students to do the right thing.