« October 2005 | Main | December 2005 »

November 20, 2005

Everything I know about leftovers I learned in grad school

The wife and I were eating dinner. I ate some leftover potatoes. I remarked about how bad they tasted. I went back for more. The wife said "what are you doing?" I said "what?", ate some more, and complained again. It was at this point that she asked "is this what grad school is like for you?"

Technorati Tags:

November 02, 2005

What is research?

It's a funny thing about grad school: I'm being trained to do research, but nobody's ever made me read a book about it, or take a course about it. Nobody's even given me a definition of what it is. What I hear around seminars these days is debate about whether some piece of work is good or bad, but I hardly ever hear debate about whether or not it's research.

Maybe I should have a disclaimer on this post: I'm talking about my experience in computer science grad school doing systems research. I don't know what goes on in other disciplines (but I'd be really interested in finding out).

What I have noticed is that there are a number of "patterns" that research falls into. A research pattern isn't that far off from a software pattern, really. In both cases, the pattern is just a framework for thinking about a problem. Patterns alone aren't enough to solve problems, but I think they make it easier to see what's going on by making the reseach techniques more explicit.

Here's one research pattern that I've been seeing everywhere lately: Start with a problem that doesn't have a satisfactory solution. Understand the problem's constraints as fully as possible, and focus on how each constraint limits the range (and quality) of solutions. Here's the trick: find the constraint that's most restrictive and eliminate it (or just loosen it). This should make one sub-problem much easier, but it probably also creates several new sub-problems. Now work forward, solving all the sub-problems and arriving at a solution that's much better than the solution under the original constraints.

By the way, I'm not saying that good solutions involve assuming impossible things are possible. It might be a good idea to assume that an elephant can be supported by toothpicks, but the solution isn't complete until there's an explanation of how to do it.

I can accept that the easiest way to teach a person how to do research is to have them start researching. I just wish that when I started grad school, someone gave me a set of stories, or patterns, or something, explaining how research gets done. Sure you can read papers, but they're very focused on the final product, and they're more about what than how. So how about it? Shall we collect our research patterns somewhere?