Engineering is a noble profession and I have nothing but respect for engineers, who work a lot harder for that degree than us CS folks, at most universities. However, let it be no mistake that the worst competent programmers I've ever seen are all (very good) engineers. Engineering is not Computer Science, and the Engineering Discipline by itself ill-prepares one to be a competent computer scientist. On the other hand, the best computer scientists dabble in Engineering, take Engineering courses, have the Engineer's stamina for math, etc. This is mostly true for those subfields of CS dealing with Engineering problems, like digital signal processing, robotics, etc.
Of course, some of the almost-worst programmers (competent or no) that I have seen have a CS degree, so take it with a grain of salt. (Notice I didn't say they were computer scientists) Remember that computers are permeating everything. Computer programming isn't the hard part. Software engineering isn't even the hard part. There are and will always be experts in a field writing excellent programs for their field that don't have a formal CS background. Computer Science, on the other hand, is a field of its own and for good reason. Many people have no idea that there is a field of Computer Science; they think it means "learning to program and/or be a great programmer/software engineer". It is a bit mystical, and it's not easy to explain to the layperson, but it's a necessary foundation for computing nonetheless. On Tue, 25 Sep 2007 at 09:41 -0600, Paul Seamons wrote: > 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. > */ > -- Hans Fugal ; http://hans.fugal.net There's nothing remarkable about it. All one has to do is hit the right keys at the right time and the instrument plays itself. -- Johann Sebastian Bach
signature.asc
Description: Digital signature
/* PLUG: http://plug.org, #utah on irc.freenode.net Unsubscribe: http://plug.org/mailman/options/plug Don't fear the penguin. */
