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 /* PLUG: http://plug.org, #utah on irc.freenode.net Unsubscribe: http://plug.org/mailman/options/plug Don't fear the penguin. */
