Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!linus!decvax!decwrl!glacier!hplabs!ames!eugene From: eugene@ames.UUCP (Eugene Miya) Newsgroups: net.cse Subject: Re: Value of Computer Science degree Message-ID: <1404@ames.UUCP> Date: Mon, 17-Feb-86 22:57:18 EST Article-I.D.: ames.1404 Posted: Mon Feb 17 22:57:18 1986 Date-Received: Wed, 19-Feb-86 07:27:08 EST References: <4514@kestrel.ARPA> <3407@nsc.UUCP> <4588@kestrel.ARPA> Organization: NASA-Ames Research Center, Mtn. View, CA Lines: 61 <3422@nsc.UUCP> <1405@gitpyr.UUCP> A comment from a person without a completed CS degree (I've math degrees) formerly working toward a phd who's gone to bat for CS degrees. The CS degree is a valuable degree. It should not be a math degree or a EE degree or anyother degree. I've have taken on more than two assignments where the people hiring me didn't want a programmer/hacker/CS person, what THEY really wanted was a radar engineer, or XYZ jockey who happened to know how to program. Letters have been posted to the CACM saying they wanted their CS people to have experience with chemistry, physics, and English. Fine. But some of these people really want physicists who know programming, chemists who know programming, and so forth. There is no one single problem to pin point. The problems lie in the political structure of universities (departments), the nature of the teaching materials, what's taught and so forth. First, CS degrees are important, but they are not math degrees. I know several mathematicians who would make terrible programmers. Knuth wrote an AMM paper last March I think on the differences. Basically, the "fault" here can be found in early programming books where people believed they knew how to program after reading a FORTRAN book (or Pascal, etc.). This is not true, and it is where the CS major should be able to step in. I learned to "program" years ago with learning about data structuring. I learned about DS and their tradeoffs. It was really neat to ask a friend (physicist) who asked about sorting techniques [after giving him a couple of simple choices]: have you considered trees? No, what are those? Well, let me illustrate... The CS major should be able to help educate us old dogs. Second, too many CS departments are wedded to the EE or math dept. This is a historical trend which dates to the first CS departments in the late 60s and early 70s but is still found in many smaller schools such as the Cal State system (I've found). Why create a new department? What biases are created. One of the biggest problem areas for the next 20 years for those math centered departments will be the emergence of stronger experimental programs. CS is not very empirical by it's structure and composition. I've had some discussons with Denning (PJ) here about it. He wrote two editorials. Great. Does someone teach an experimental methods class in a CS department? Let me know. Also, many of the tools used to teach algorithms, programming, design of compilers, OSes, etc. are too low-level. We teach "top-down programming" in a bottom-up fashion! There are other biases and factors, and spoke of two as well as an important reason for you guys to exist: education. If you only could see the number of highly paid programmers I have met who don't know what a stack is, what semaphores (or rendevzous) are, why studying compilers are useful for doing numerical methods, that languages and operating systems and networks are merging..... What's worse is when people such as these get into positions of decision making. This is why CS majors should exist. From the Rock of Ages Home for Retired Hackers: --eugene miya NASA Ames Research Center {hplabs,ihnp4,dual,hao,decwrl,allegra}!ames!aurora!eugene eugene@ames-nas.ARPA