Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!wuarchive!texbell!texsun!newstop!sun!regenmeister!chrisp From: chrisp@regenmeister.uucp (Chris Prael) Newsgroups: comp.edu Subject: Re: CS education Message-ID: <34753@regenmeister.uucp> Date: 13 Nov 89 18:43:25 GMT References: <1593@ultb.UUCP> Sender: chrisp@regenmeister (Chris Prael) Organization: Sun Microsystems, Inc. - Mtn View, CA Lines: 53 From article <1593@ultb.UUCP>, by jrj1047@ultb.UUCP (J.R. Jarrett): > In article <34705@regenmeister.uucp> chrisp@regenmeister.uucp (Chris Prael) writes: >>There is a basic set of disciplines to engineering. This set seems to >>be well taught in civil and mechanical engineering curricula and less >>well in electronic engineering curricula. The set seems to be taught >>little or not at all in the typical computer science curriculum. > Yes, I agree there is a basic set of disciplines to engineering. > However, they are based on *physical* laws (How much force can a piece > of steel take before it collapses, etc...) Software is an *artificial* > construct, much more complex than a bridge, or circuit. Perhaps an > oversimplification, but you get the idea. This is where most people in computing get into trouble. The basic disciplines of engineering have NOTHING to do with laws of physics, properties of materials, properties of shapes, etc. The basic disciplines of engineering deal with how you define, attack, and resolve a problem by constructing one (or more) artifacts. Since programs are far and away the most complex artifacts that man constructs, the engineering disciplines are every bit as necessary as they are in simpler tasks. >>> What did you learn? >> >>Between a math BS (from UW) and 5 years of motor racing, I learned to be >>a pretty effective engineer of software. > > Ah, there's a big difference between a Mathematics (especially a pure > math degree) and a CS degree. I am aware of the difference! > I have a BA with majors in both math and > computer science. In the computer science curriculum, I learned about > such fun things as finite state machines, data flow diagrams, and > operating systems :-}. But, in math, I learned how to attack problems, > systematically solve them and show how they were solved. With that kind > of background, one can learn to do anything (ok, an exaggeration! :-))) But only a small exaggeration. If you concentrate on number bashing (numerical analysis), which I studiously avoided, you probably end up with a skill set similar to that of a CS major. > With a math degree, you're more flexible. I think CS should take a look > at sucessful mathematics programs and try to become a bit more like > them. The thing is that the courses that you really learn how to use your head are pretty rough for many people. That had a lot to do with how most CS departments got started in the 60s. Chris Prael