Archive for: June, 2011

Land War in Asia (aka, CS undergraduate education)

Jun 20 2011 Published by under computer science, education

I really didn't want to get involved in the debate going on over at Matt Welsh's blog, but I would like to offer a slightly different perspective.

The debate on Matt's blog is a classic one in CS undergraduate education. That question is: how much should we teach "real world" skills? And usually the answer I've heard is, "This is Computer Science, not a vocational program.", or, "This is Computer Science, not Engineering." etc.

Having spent a long time in industry, I can tell you the single most important thing a industrial Computer Scientist needs to know is: What the hell is this and how do I fix it.

That's it.

Now, how do you get to that? How do you feel comfortable diving into deep hardware and software problems? Tinkering. Practice. Persistence. Being comfortable with failure. Knowing how to ask questions, read manuals, and type complex, arcane search queries into google.

You need to understand and appreciate not just how computers work, but how other computer scientists think. To do this you need to understand geek culture to some extent - why we always take shortcuts across the grass, why we hate Windows, why we sometimes describe programs as beautiful.

This all takes time, patience, and practice. And an incredible amount of stubbornness and persistence. The challenge to us as Computer Science educators is how to best cultivate this sense of duty toward solving problems.

Now some might argue the beauty of mathematics is enough to slog through Discrete Math. The burning desire to know the soul of a machine is enough to endure hours a night hunched over a soldering iron followed by eight hours of doing it again.

I think for some students this is true. But for many students this is not enough to stay the course, as it were.

We need to teach Computing that has purpose and meaning. Students need to understand why all this stuff matters. The "eat your Theory vegetables because it teaches you how to think" argument doesn't really hold here, but nor does a vocational PHP course.

Undergraduate CS Education needs a story - with a beginning, a middle, and an end. Students need to learn not just how to make and stack the building blocks, but to see how they fit into the context of the play room.

Give students that, and they will eat their theory vegetables gladly. Retention rates will soar. Instead of saying, "So what?", underrepresented minorities will say, "So that's what!"

3 responses so far

2010 ACM Awards - A Glance at Gender

Jun 06 2011 Published by under computer science, women

The Association for Computing Machinery (ACM), our main professional organization in Computer Science next to the IEEE, has announced their award winners for 2010. This includes the Turing Award, which is basically our version of the Nobel Prize.

I thought I'd do a quick check to see what the gender balance of awardees was for this year. Just curious.

Turing Award - M
ACM-Infosys Foundation Award - M
Paris Kanellakis Theory and Practice Award - M
Software System Award (Group of 12) - All M
ACM/AAAI Allen Newell Award - M
Grace Murray Hopper Award - M
Karl V. Karlstom Outstanding Educator Award - 1 F, 1 M
Doctoral Dissertation Award - M
Distinguished Service Award - M
Outstanding Contribution to ACM Award - M

So by my quick tally looks one woman received an award - for being an educator - which she shared with a man.


For new 2010 ACM Fellows, things look a little bit better. Looks like 8 out of 41 were women, so about 20%.

I don't have time at the moment, but if anyone is feeling energized it would be interesting to look at the data for previous years, as well as from IEEE. It takes a bit of work - you often have to visit people's websites to figure out gender, since names are not always clear.

3 responses so far