Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/5/84; site mtx5a.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!mhuxt!houxm!whuxl!whuxlm!akgua!akguc!mtunh!mtuni!mtune!mtunf!mtx5c!mtx5d!mtx5a!mat From: mat@mtx5a.UUCP (m.terribile) Newsgroups: net.singles Subject: Re: Re: Titles Message-ID: <1195@mtx5a.UUCP> Date: Tue, 18-Feb-86 02:12:17 EST Article-I.D.: mtx5a.1195 Posted: Tue Feb 18 02:12:17 1986 Date-Received: Fri, 21-Feb-86 07:12:16 EST References: <4514@kestrel.ARPA> <3407@nsc.UUCP> <276@sdcc7.UUCP> Organization: AT&T Information Systems, Middletown, NJ 07748-4801. Lines: 69 > > It has been my experience that CS professors haven't the foggiest idea what > > the industry needs. > > I have seen to many 'Instant' CS degree programmers who need a year or so > > of ramp up time in a programming job before they even produce line 1 of > > useable, production quality code. > > A random hacker grade programmer of high school age is worth 5 brand new > > CS degree-oids. > > Note that ALL the awesomely hot programmers I know do not have degrees. > > It's been my experience that CS professors know a hell of a lot > more about computers than you'll ever know. Maybe if you > understood more about computers you would know what a "hot" > programmer really is. Come on, a high school programmer? . . . > Also, 4 or more years of studying hard is not 'Instant'. First, is studying hard the same as programming? You can study about how to bowl, but nothing will develop the skill but time on the lanes. As if everyone else hadn't guessed, there are prof's who know their way around a CPU and prof's who couldn't debug a ``hello, world''. And there ARE interesting things studied in courses. But the fundamental stuff can't be taught. It's in your bones, or it's not. The right guff, I call it. And the classical ``fundamental algorithms, compilers, etc'' courses may do more harm that good. More on that later. You ought to go to college for a couple of years. Get far enough to take a couple of good projects courses. I don't care if the subject is computer science or cereals agriculture. There ARE some things that you will pick up there that you will be lucky to pick up in the real world. And if you've gotten that far, why not hang around for the extra year and get the degree? Those last years, when you get to play electives are the most rewarding. Why my bad feelings about the fundamental algorithms type courses? They do not dwell on the rules of program construction, organization of large systems, or other things that become 400-series courses in the school of hard knocks. They teach stuff like sorts and merges and hashing and parser generators. These are problems that computer science wrangled with for many years. Why did they take so long to solve? Because they are, in a sense, pathological. Look at the code that you write on a day to day basis. 98% of it can be written according to a simple rule: state the problem in the simplest way you can and ``trace'' the code over the problem. This leads to code that is maintainable, code that can be traced back to requirements, code that meets specs -- or if it doesn't, put the code next to the problem description and see where they differ. Now look at the heapsort, the cascade merge, at LALR(1) grammer construction. Look at almost any of the sections of Knuth(1). Not one of these solved a problem that yielded readily to the above method. They came out as a result of a mixture of deep theoretical insight and a bloodbath of cut- and-try. If we teach these things to students in the beginning, we are teaching them that this is the way programming problems get solved. We've destroyed the thinking style needed before we even have got it working in the first place. Don't get me wrong. We need to know how to handle simple linked data structures. But we should be able to write code first. What in blazes it this doing in net.singles, anyway? -- from Mole End Mark Terribile (scrape .. dig ) mtx5b!mat (Please mail to mtx5b!mat, NOT mtx5a! mat, or to mtx5a!mtx5b!mat) ,.. .,, ,,, ..,***_*.