Friday, December 5, 2008

Boiling water and the complexity of our actions

Once I was a TA in a basic computer course (back in 1995); one exam question (or quiz or homework) asked students to write "pseudo-code" for boiling water ("pseudo-code" being a sort of plain-English description of an algorithm).

The expected answer was something like
Get a Pot
Fill it With Water
Put it on the Stove
Turn On the Stove

And that is a basic level description of what we do. But there's far more complexity there. The reason I write this is as a follow up to the previous post about research questions: we have basic ideas about the world, but when we examine them, we find that they open up into great complexity.

This sort of thing happens with computer programming, too, and that was the problem a lot of the students had with moving from five lines of pseudo-code to a working program--they just didn't recognize all the little details that are worthy of attention. Similarly, when we're looking at an assertion, we need to recognize all the details that are worthy of attention and examination.

Let's take a brief look at the pseudo-code. The first step: "Get a Pot."
Easy? Yes, it's easy if you have a pot, or know where to get one. Let's say you have a pot that you intend to use and it's in your kitchen. Then "get a pot" requires first going to your kitchen, which itself may not be trivial, if, for example, you're out running errands. You have to go home, then once home you have to go to the kitchen. Once you have gotten to the kitchen, you have to find the pot. This may be easy if your kitchen is well-kept. But maybe the pot is already in use--then you have to find an alternate pot. Or maybe the pot is dirty, and you have to wash it. Or maybe the pot isn't where you would expect it because the friend you had over for dinner the previous evening put away the dishes. Once you've gotten the pot and it's clean and ready for use, then you have to fill it with water. Again, we can find complexity here if we look for it. We need to have running water, we need to keep the pot oriented in the right direction, we need to keep it still, we need to support its weight, etc.

We want to look at our assertions at this level of detail, and then the research questions will start popping out at us.

No comments: