Best Computer Science School in Utah
Paul Seamons
paul at seamons.com
Tue Sep 25 09:41:27 MDT 2007
On Monday 24 September 2007, John Anderson wrote:
> Whats the best (in your humble opinion) computer science school in Utah?
This isn't really a direct answer to your question, but...
I'd choose Engineering.
Well, actually I'd either double major or else I'd major in Engineering and
minor in CS. The type of Engineering doesn't really matter, as long as it is
a discipline that truly taxes you. I don't mean software Engineering - I
mean one of the physical engineering disciplines. I offer Chemical
Engineering as a good choice.
There are many principles of CS that can only come easily to you by obtaining
a CS degree. However, many of them can be obtained through experience. This
is also true of Engineering, but to a lesser extent. If you were to follow
Chemical Engineering for example, you'd come away with a firm grasp of fluid
mechanics (useful for modeling), programming (not as firm as CS, but
necessary none the less), mathematics, physics, finite element analysis,
statistics, data analysis, finances, working in teams, and business
presentation. Also to mention, you might understand chemistry also.
Many of the best programmers I know came from a CS background. But just as
many (if not more) came from a non-CS background. I think part of this goes
back to recent threads that have tried to determine if programming is science
or craft. It is both, so non-CS backgrounds can obtain the craft and
gradually assimilate the science.
I'm biased. I did Engineering. But if I had it to do all over again - I'd do
it all over again.
I've had friends in mathematics, music, law, and business all prove very adept
at programming (though they'd make poor professors of the science of
computers). My favorite programming language designer's backround is in
linguistics.
In the end though, I've skirted the real issue here. You have asked what
Computer Science program is best, but you haven't given us the most important
piece of information: What do you want to be when you grow up? What do you
want to do with your degree? That is a hard question to answer. I still
haven't answered it very well for myself.
My programming jobs to date have used design patterns, but haven't required
some of the more in depth theory that CS provides. Were I to try other
careers in CS (such as kernel development, hardware interaction, or database
engine design), I'm sure I'd find myself wanting.
Do something you'll love.
Paul
More information about the PLUG
mailing list