Computers, solving problems, and Donald Knuth
The problems he posed to his class were previously unsolved problems related to computer science or potentially solvable by computer science techniques. It wasn't clear at the start whether there were solutions to many of these problems; they were indeed exploring new territory. Watching that series taught me three things:
- We can often solve problems most effectively when we combine human and machine reasoning in ways to maximize their unique contributions. Perhaps that's part of why I find simulation techniques such as system dynamics intriguing and why I don't feel compelled to make system dynamics models that provide all the answers by themselves; it's important to have humans involved.
- It's important to think when using a computer. The problems his students solved were indeed challenging, and the dialog they had on the tapes was far-ranging and intense. The computer was used as a laboratory for exploring possible hypotheses, not as the provider of answers.
- It's important to think about how you present problems, ideas, and solutions to make them as clear as you can.
In writing this, I discovered that the tapes from one of his seminar series are online, along with a written report of the class. While I'm pretty sure this is not the same set I viewed, those of you who are somewhat technically inclined might be interested in viewing the tapes and wrestling with some of the ideas yourselves. You won't see a polished, inspirational (in the traditional sense) series of lectures; you'll see smart people wrestling with tough ideas, not yet sure which approach might be most fruitful.
The Stanford Center for Professional Development has more of his "musings" online, too.