posts tagged with college

1-small opportunities & scholarships for women & girls in technology

  • The NCWIT award for aspirations in computing, targeted at high school. girls, is accepting applications soon! There are local awards in a number of areas, and winners get sponsored to an awards event where they can meet other bright, ambitious girls interested in technology.
  • The Systers Pass-it-On Awards are now accepting applications — small cash awards intended to support women in technology who will, in turn, “pass it on” by supporting other women.
  • The ACM-W is providing scholarships for women graduate students or undergraduates to attend technical conferences.

9-small a=b;

Clara wrote about the barriers to entering Computer Science at the college level, especially the CS101 “hidden prerequisite” of previous programing experience.

So you can imagine my reaction when I read Jeff Atwood’s Coding Horror blog post, Separating Programming Sheep from Non-Programming Goats, about creating additional – artificial – barriers. Not that it’s Atwood’s fault: he’s writing about a draft paper[pdf] by Professors Saeed Dehnadi and Richard Bornat where they propose a screening test for new programing students.

Clearly, Dehnahdi’s test is not a perfect divider of programming sheep from non-programming goats. Nevertheless, if it were used as an admissions barrier, and only those who scored consistently were admitted, the pass/fail statistics would be transformed. In the total population 32 out of 61 (52%) failed; in the first-test consistent group only 6 out of 27 (22%).

Well, that doesn’t sound so bad, right? In the context of a university course with such a high failure rate, something needs to be done. Let’s take a look at this test, administered – in this study – to students before their first day of instruction.

Read the following statements and tick the box next to the correct answer.

int a = 10;

int b = 20;

a = b;

The new values of a and b are:

[ ] a = 20 b = 0

[ ] a = 20 b = 20

[ ] a = 0 b = 10

[ ] a = 10 b = 10

[ ] a = 30 b = 20

[ ] a = 30 b = 0

[ ] a = 10 b = 30

[ ] a = 0 b = 30

[ ] a = 10 b = 20

[ ] a = 20 b = 10

Oh dear.

In fairness, from reading the paper, it does seem like the intent is not to test for the “right answer” but to look for adherence to a mental model between questions in the face of an ambiguous task. They’re trying to test for rule-consistent thinking, and intend to award points for “wrong but good” answers. So it’s not as terrible as it initially looks.

But aside from some hand-waving at the beginning of their methods section, it doesn’t seem like any attempt has been made to exclude students with previous programing experience, which would clearly be of enormous benefit in taking the test!

[T]he test was first administered to about 30 students on a further-education programming course at Barnet College before they had received any programming teaching whatsoever – that is, in week 0 of the course. Those students had no particular pattern of age, sex and educational background. Dehnahdi interviewed half of them before admission, and taught them all. We believe that none had any previous contact with programming, and that all had enough school mathematics to make the equality sign familiar. The test was anonymised, in that the students invented nicknames for themselves.

The same test was then administered to about 30 students in the first-year programming course at Middlesex University, once again before they had received any programming teaching. They were mostly male, aged about 18-20, from the middle range of educational attainment and from families towards the lower end of income distribution. Again the answers were anonymised. This time Dehnahdi tutored them but did not teach the course. We believe (without any interview evidence at all) that they had had no contact with programming but had received basic school mathematics teaching.

Um, really? The single most obvious way for any student to have a consistent mental model for this test is for that student to know Java or some other C-ish language. Much more explanation needs to be done about the exclusion of this confounding variable, beyond “we believe”.

But really, methodological discussion is beside my point: the whole enterprise is a perfect example of the prevalent confusion of prior experience for ability. Where Clara was writing about structural and institutional barriers to joining Computer Science in college, here we have a deliberate academic barrier in the form of a multiple choice test. If this thing were to become popular, it would institutionalize the requirements of pre-learning CS. What a disaster that would be: turning a sexist cultural norm into a deliberate collegiate impediment.

1-small When Should Students Start Learning Computer Science?

One major reason that fewer women are in computer science is that middle or high school aged boys are much more culturally encouraged to pick up programming as a hobby. So by the time students get to CS 101 in college, some students already have a fair amount of experience; and somehow, this has become the cultural norm, so students who haven’t already taught themselves programming are perceived to already be behind before they’ve even started college, which discourages many of them from entering the field at all.

This is ridiculous! We’re losing a lot of potentially talented computer scientists by this cultural insistence that they develop their skills so early. College students who hope to become graphic designers, or lawyers, or accountants, or historians of science aren’t expected to already have experience in the field by the time they matriculate — why should students who hope to become programmers be subjected to a higher standard? It weeds people out of the field early who could easily have caught up with their more precocious peers and become successful were the culture different — and because of cultural influences at the pre-college ages, these people who are weeded out are disproportionately female. Our society needs more computer scientists (and other IT people/people with high-level computer skills) than can be produced through the “see if they pick it up on their own before age 18” strategy.

CS 101 should be just that — 101, something with no prerequisites, where you can start learning the discipline. For those who say this might be unfair to those students who have prior programming experience — these exceptional students should be treated as exceptions, and have the option to test into a higher level of CS. (Removing these students from the 101 class would also make it less intimidating for the true newbies.) We need to encourage a cultural shift in the way CS 101 is perceived and promoted at the college level — make it more clear in course catalogs and instructor introductions that at least one CS course is perfectly welcoming to total n00bs who have never even tried HTML.

We can alleviate this problem of unfairly high barriers to entry even more effectively by taking a two-pronged approach; in addition to changing the culture surrounding introductory college-level courses, we should require CS for everyone in high school (or at least make it a normal part of the HS core curriculum, the way calculus is now). This would make computer science tracking work more similarly to the way math and science work currently: if you’re planning to major in, say, math or biology, by the time you get to college you’re expected to already have a start in those fields — but this isn’t as huge a barrier, since high schools are tracked so that people with those aptitudes will definitely take those classes in a typical American high school. Requiring or expecting students to take CS courses, in much the same way, would have many benefits. It would improve the gender balance, since girls with natural aptitude for programming would be able to discover it in an environment where they could compare themselves to people with less aptitude (as opposed to the current system, which generally results in girls with high aptitude comparing themselves to boys with high aptitude and greater experience). It would increase the number of skilled computer scientists in general, for similar reasons. And even beyond that, I’m firmly of the opinion that even for people who will never want to do any programming afterwards, learning some in HS would make them better citizens/thinkers (for the same reason you learn calculus or trig in HS even if you plan to major in English) — and able to more easily handle the basic computer tasks that are required for almost any twenty-first century career.

Programming isn’t magic — some people have more aptitude for it than others, but the elitist culture is discouraging even people who might have a lot of aptitude from even getting started at the early levels. It’s time to stop weeding out potentially talented programmers with these absurd litmus tests.

Log In



 

Join Us










What is the last month of the year?

By submitting this form, you agree to the site's terms of use and confirm that you are at least 13 years old.

Search Us

Promote & Share

RSS delicious facebook twittter stumbleupon

Follow us on Facebook