Path: utzoo!mnetor!uunet!lll-winken!lll-tis!ames!pasteur!ucbvax!LOYVAX.BITNET!PGOETZ From: PGOETZ@LOYVAX.BITNET Newsgroups: comp.sys.apple Subject: School flame Message-ID: <8804211830.aa02380@SMOKE.BRL.ARPA> Date: 21 Apr 88 20:54:00 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 60 >Re: "Granted these courses are enough for some, but not for the best." >No way. Flame On! >Here are a few trivial things... >1. Assembly language with true parameter passing & recursion So why did you wait for a class to learn this? That's your fault. And I'll bet they didn't teach you to read a program from a hex or binary dump. >2. How to write a compiler I've written a compiler and an interpreter on my own. >3. How to prove that a program will terminate; how to prove it is correct. But Turing proved that it's impossible to prove that a program will not terminate. So it's not useful. Besides, nobody applies proofs to real programs. I took that course, too. Saying we can verify programs is like saying SHRDLU proved that computers understand English: it dealt with a toy world. You could in theory verify a large program, but nobody would have the patience to write it. I'll believe it when I see it. >1. How to write timing-critical code like RWTS If you cracked programs & got into DOS seriously, you would know how. >2. How to write an operating system Our OpSys prof refused to let me take OpSys as a freshman, even though I was writing the operating system for the Gemini robot at the time. What a jerk. I made a long list of things I've done outside school. Fortunately for you, I deleted it. My primary sources are journals, magazines, books, and experimentation. Classes are 1. paced to slow students, and 2. out of touch with reality. Language classes are useless. A language/hardware survey might be useful. When you start a project, you should be able to choose the machine & the language. Then you learn them. In 3 of 4 computer classes I've taken, the prof didn't grade your program on whether it worked. Rather, he graded it on how well it met his idea of a well-written program. Some people wrote non-functional, non-compilable programs that got better grades than my bug-free, memory & CPU efficient ones. Once I was downgraded because I built error-correction into a program - "It wasn't in the specs." Often I lost points for using non-approved commands (Gotos, deletes, stack pops, etc.) Professors are all hung up on their own programming philosophy ("Globals are evil! Comment every line! Never break out of a loop! Always design top-down/bottom-up/on data flow/on program flow/incrementally/fully!"). The really useful classes are indepedent studies. Especially the ones where you write a program in a language your counselor doesn't know - then he can only criticize the program organization, data structures, & results. Comp sci classes offer only a fraction of what's out there. You are not self-motivated, you are not a hacker, if you restrict yourself to classes. Phil Goetz PGOETZ@LOYVAX.bitnet Disclaimer: If you are a Loyola comp sci professor, this is about all the Loyola comp sci professors except you.