Monday, February 16, 2009

CS is everywhere

I have encountered a couple of stories lately where computer science was underneath the story in a way that was easy to overlook. I don't really think it should have been called out in either story, and yet I want people to see it. 

The first story is about Shane Battier, The No-Stats All Star
"We now have all this data," [Houston Rockets' owner, Leslie] Alexander told me, "And we have computers that can analyze that data. And I wanted to use that data in a progressive way..."

The virus that infected professional baseball in the 1990s, the use of statistics to find new and better ways to value players and strategies, has found its way into every major sport. Not just basketball and football, but also soccer and cricket and rugby and, for all I know, snooker and darts - each one now supports a subculture of smart people who view it not just as a game to be played but as a problem to be solved.
I'm not completely sure that counts as computer science. But computing literacy is required to do the kind of creative algorithm generation required to crunch the statistics. And at its core, that's computer science. Of course it isn't only computer science, but to me that's the beauty - computer science underlies many of the cool things that are happening in different disciplines. You don't have to be a nerd working in high tech to use computer science in your career.

I was accused of being self-absorbed the last time I mentioned the second story, but I'll put it out there anyway. I was listening to an interview with Chesley Sullenberger where he talked about all the things he had to do to land the plane safely in the Hudson - nose up, wings level, not too fast, not too slow... simultaneously. Now Sullenberger is truly a hero, his reflexes, calm, and creativity are amazing. But I don't think he could have done it if he hadn't practiced it using a flight simulator. Flight simulators are one of the most obvious implementations of computer science that exist. Computer science is like the unsung hero of the story! (Yes, I'm being deliberately over the top there.) 

Just like other sciences - especially physics and chemistry - computer science is all around us, but we accept it without even noticing it. 

Sunday, February 15, 2009


In cleaning out my bookmarks, I came across a link to Joel Spolsky's column at Inc, "How Hard Could It Be?" His latest article is about rewarding employees for great ideas.

The article touches on intrinsic vs. extrinsic motivation, which is always something to keep in mind as a teacher. At my school (as in many K-12 schools), we're very aware of wanting to develop life-long learners. That means developing intrinsic motivation. Yet our effect on the children is inherently extrinsic. A dilemma, for sure. 

The very interesting part of the article for me was on page 2:
Human beings, by their nature, tend to think of themselves as, how can I put this politely, a bit more wonderful than they really are. All of your B performers think they are A performers. The C performers think they are B performers. (A couple of your A performers think they are F performers, because they are crazy perfectionists or just clinically depressed. But they are the exceptions.)

My first reaction to this was, "I wonder how many women Joel has working at Fog Creek." My second thought was, "I bet not that many." It completely ignores imposter syndrome and all the studies showing that women with higher grades will drop out. In CS, for women, B performers tend to think they're not good enough. 

Now, it's also possible that the difference is I'm looking at education while he's looking at the post-education working world. That the skills which make you get through and get hired increase your self-confidence out of proportion to your performance and that the people who drop out as described wouldn't ever get hired by Fog Creek. 

I see the low-self-esteem side of the curve all the time. All my students are capable of programming. Many, many of them think they're not. It's hard, it's unfamiliar, they aren't sure they're doing it right, they get syntax errors they can't interpret... they think they're not good enough. On the first assignment, which happened on the second day of programming, one of the students was very, very worried that she didn't understand it well enough. She wrote a perfectly good program, but relied on the class notes and example program to do it. She didn't think she really understood it since she couldn't have done it without the notes and examples. On the second day. 

I don't disagree with Spolsky's idea of human nature and I'm sure he's an excellent manager. But not everyone has an overinflated sense of self-worth. 

On a related tangent, I heard a thought-provoking story last week. A group at a high tech company had a meeting. The engineers were talking about a Spolsky article. The manager had never heard of Joel Spolsky. "Who is this Joel guy?" One of the engineers actually looked at the manager in disbelief and said, "You've never heard of Joel Spolsky??" The engineers reportedly felt this was further proof that their manager is out of touch. (The manager did rise through the technical ranks, not that it's relevant.)

The story made me angry. Sure, Joel is well known in certain circles. Knowing about his blog is a cultural marker. Not knowing about his blog probably means you have a different set of cultural references. Not knowing the "right" cultural markers means you don't fit in. And the response isn't to try to help you acclimate and learn the markers of the group you're in, it's to ridicule you and use that lack of knowledge as proof that you don't belong and ought to go somewhere else and do something else. After all, you can't possibly be a competent programmer or good manager if you don't know who Joel Spolsky is. 

It might be different if the person didn't know something that was directly relevant to the job at hand. Yet I frequently see or hear stories where someone who is up on the culture doesn't know required information and isn't shunned for it. Either the lack of knowledge is ignored or the idea is explained to the person who needs to know, informal mentoring. "Oh, you need to use a McKenzie-Shlimit algorithm here. It will make the fizzits go into the slobnots efficiently."

I think this kind of thing happens more frequently in high tech than it does in other professions. It's one of the reasons why we have the leaky pipeline problem. It reminds me of middle school girls - if you don't already know how to be popular, the popular group certainly isn't going to tell you! And they're going to laugh at you and tell you your epidermis is showing, too.

All or Nothing (or: Moderation in All Things)

I've been thinking a lot lately about moderation and abstinence, ever since reading this post at the Happiness Project. I'm usually a moderator - I get panicky if I try to give something up forever, but I can put it off indefinitely by thinking, "later". (This may not apply in the case of apple crisp. Apple crisp is always better NOW.)

This has been true with my workflow lately, too. I had to switch to a loaner computer while mine is being repaired. The loaner has a much smaller hard drive, so I had to move things to an external drive. I've done that a few times in the past and things are a big mess. So I'm using this opportunity to try to clean things up, including my bookmarks. 

The problem is that it's a huge job and I don't really have time to sit down for the hours it would take to do the whole thing all at once. Also, boring. So I've been doing it in chunks, making sure it is clear where I left off. Very moderate. 

Now I just have to apply this to the rest of my life, particularly the part where it's easy to maintain. I tend to get stuck feeling like if I don't get all the way organized then there's just no point, when for me that isn't true at all. 

I organized a bunch of files at work this fall. Now I can't remember the system I used. It was even color coded! The colors are still there, but the meaning is lost. I think this time I will paste the key on the front of the filing cabinet. And no, you may NOT come visit me and laugh.