At 04:28 PM 4/30/2001 -0700, Samantha Atkins wrote:
>Emlyn wrote:
> >
> > Personally, I'd drop the computability class, replace it with something on
> > algorithms + algorithmic complexity. Also, parallel & distributed computing
> > is a must-have.
>
>Without a theory of computation class it is difficult to understand and
>evaluate what is and is not possible or what is actually being done in
>computation.
Theory of computation *is* a practical skill, and will save you from a few
headaches down the road. I've also run into a few headaches because a lot
of other people don't seem to understand this.
A couple times in my life I have been in design meetings where someone will
suggest a lovely sounding idea that I immediately recognize as
theoretically impossible to implement. The problem emerges when I am the
only person in the room who sees this. It is no fun trying to explain the
impossibility of something to a group of people who have neither the
education nor the experience to understand why this is the case,
*particularly* when you are the lone dissenter and they are unwilling to
spend the time for you to explain it to the point where they will
understand. Very frustrating.
On the flip side, once or twice I have been in the situation where I
propose an elegant and powerful solution to a complex problem, and it was
immediately dismissed by the group as "impossible" because it defies their
intuition despite the fact that they can't explain why it won't work. Of
course, this usually speaks more about the education and experience of the
group than anything; dismissing an algorithm simply because one has never
seen it before indicates larger problems.
Note that these two scenarios don't happen that often, but that they happen
at all indicates a sad state of affairs.
-James Rogers
jamesr@best.com
This archive was generated by hypermail 2b30 : Mon May 28 2001 - 10:00:01 MDT