Re: Can you learn computer science from a school?





Joe Marshall wrote:
This is clearly flamebait, so kill this thread if you aren't
interested. I'm interested in what the consensus is.

Some of the people in this group have, or are pursuing, advanced
degrees in computer science. Some have bachelor's degrees. Some have
degrees in related fields. Some have degrees in completely unrelated
fields. Some have dropped out before getting a degree. Some are
autodidacts.

Is there a correlation between studying computer science and knowing
about computers? Do people gain anything by pursuing an advanced
degree in computer science, or would they be as well served by saving
the money, buying a PC, and teaching themselves? There is a romantic
ideal of the untutored hacker that program circles around MIT grad
students. Is that absurd or commonplace?


Question malformed. Please re-enter.

Actually, the question drifted from "can you learn computer science in school" to "who is a better programmer", so there is no hope for this thread.

I once pissed off a computer science guy interviewer at an investment bank by saying I could not make the second interview the next day (he was all hot to hire me) by saying the next day was my day for water-skiing. The day after we met and he went bat***. How do you define a relational database? <shrug> Many-to-many? Nonsense, there is a very precise definition. I decided not to wonder aloud how, after a two week class in RDB, I had done the RDB design for a ten-person Forex project that went into production unchanged 15 months later. Then he said, what is your favorite hash algorithm? (Yes, he was in total *** mode.) I said I do not have one. He snorted. I said, do they have books on hashing? Yes! he exclaimed, somehow missing my point. I looked at his lieutenant who was also in the interview, he seemed to be saying "Sorry" with his eyes. I was sorry for him, having to work for the nutjob. Otoh, the nutjob had fallen in love with me because I had corrected him: RMS can have duplicate primary keys, what you cannot do is /change/ a primary key. This was because I was a programmer, not a computer science graduate.

Well, I learned my lesson: next time I'll ask the guy if he wants to go water-skiing, too.

School is the only place you can learn computer science, because it is the only place they sit you down and drag you through the topics. Real programmers are out there picking up bits and pieces of the same stuff as need be, but they are more interested in getting programs written, and that comes down to good design. They do not teach good design in schools, and I am not sure how they could and still pose as Ivory Tower academia. They do not want to be trade schools, you know. Actually, I am not sure how one teaches good design at all. So academia looks for things they can point to as "science", most of which is already a Lisp function anyway, that big ol' ball of mud.

I think folks go for advanced degrees because they do not want to join the real world, and an advanced degree puts that off for quite a few years and possibly forever if they can become (hallelujah!) professors. But then they cannot program, they have to do computer science. I bet anyone who loves programming would get fed up with all the wasted time going into programming.

I must mention here an extraordinary exception, Vasily Georgialis (lord help me on SP), an academic who tossed off Cells-Gtk in a couple of weeks out of curiosity. Stunning.

Another interesting case is Guy Steeles Phd thesis cum constraints programming language. Now here is someone doing neat stuff, but he cocked it up by going theoretical vs. worrying about getting programs written. Why are simple linear dataflow cockroaches thriving while multi-way partial constraint dinosaurs are sinking to the bottom of the ooze? Pay attention: they're simple.

Anyway, if one has not programmed heads down for three years one likely does not know much about design. I am sure I write more code in a year than academics write in a lifetime, because we are doing different things. Hell, they have the sorry task of trying to pretend there /is/ such a thing as computer science. If there was, wouldn't everyone be using Lisp?

kt

--
http://www.theoryyalgebra.com/

"Algebra is the metaphysics of arithmetic." - John Ray

"As long as algebra is taught in school,
there will be prayer in school." - Cokie Roberts

"Stand firm in your refusal to remain conscious during algebra."
- Fran Lebowitz

"I'm an algebra liar. I figure two good lies make a positive."
- Tim Allen

.