g-rh@cca.UUCP (Richard Harter) (09/23/86)
Tom Keller writes: > > .... I have merely pointed out that > the training needed to be a good programmer is *NOT* the same as the > training needed to be a (good) Computer Scientist. You can rant and > rave all you like about people without formal training who have developed > good software, or succeeded in the commercial software market, it doesn't > change my point at all. Without the theoretical foundations laid by > Computer Scientists (and their associates, mathematicians and EEs) the > "programmers" wouldn't have anything to work with. It remains the > theoreticians who lead the way in the development of new computing > technology and methodology. > Er, ah, I hate to break it to you, but this simply isn't so. Programming very much came first; the early programmers developed the principles of programming pretty much ad hoc. The theoretical foundations were developed after the fact. It would be much more accurate to say that the theoreticians *are becoming* the leaders in the development of new computing technology and methodology. This is the normal situation with technology and science. Until World War II science had surprisingly little impact on technology (with the exception of Chemistry). The reason is fairly straightforward; in its earlier stages technology depends on rough and ready constructs and a lot of empirical knowledge. The corresponding science is inadequate because not enough is known about the processes involved to provide theoretical explanations of the phenomena. In the case of programming, the significant developments all preceded the rise of computer science, which was very much an after the fact occurence [and is still somewhat mired in the identity search syndrome.] Concepts (and implementation) of ideas such as databases, operating systems, higher order languages, and data structures were brought into being by programmers. It should be noted, however, that the early programmers were not "graduates of programming schools"; they had highly varying backgrounds with a predominence of Mathematics and Engineering. -- Richard Harter, SMDS Inc. [Disclaimers not permitted by company policy.] For Cheryl :-)
tiemann@mcc-pp.UUCP (Michael Tiemann) (09/24/86)
In article <10202@cca.UUCP>, g-rh@cca.UUCP (Richard Harter) writes: > Tom Keller writes: > > Without the theoretical foundations laid by > > Computer Scientists (and their associates, mathematicians and EEs) the > > "programmers" wouldn't have anything to work with. It remains the > > theoreticians who lead the way in the development of new computing > > technology and methodology. > > > Er, ah, I hate to break it to you, but this simply isn't so. > Programming very much came first; the early programmers developed the > principles of programming pretty much ad hoc. The theoretical foundations > were developed after the fact. It would be much more accurate to say that > the theoreticians *are becoming* the leaders in the development of new > computing technology and methodology. > > In the case of programming, the significant developments all > preceded the rise of computer science, which was very much an after > the fact occurence [and is still somewhat mired in the identity search > syndrome.] Concepts (and implementation) of ideas such as databases, > operating systems, higher order languages, and data structures were > brought into being by programmers. It should be noted, however, that > the early programmers were not "graduates of programming schools"; > they had highly varying backgrounds with a predominence of Mathematics > and Engineering. > -- > > Richard Harter, SMDS Inc. [Disclaimers not permitted by company policy.] > For Cheryl :-) Er, ah, I hate to break it to you, but the theoretical foundations were well in place before the programmers got there. Recursion and induction (two very powerful programming techniques) were well in place from centuries ago. The notion of an algorithm existed before electricity was even understood. Church invented the Lambda Calculus almost 20 years before LISP existed, theorem-proving systems of Gentzen preceded AI, and Kleene had a number of formal language results before the first compiler existed. The reason that Computer Science *seems* like a new field is because it can be so closely related to other existing fields such as Algebra, Logic, and Analysis. It is true that along the way programmers have made their contribution to the field of the science, but the real question that people in the field of Computer Science/Engineering must ask themselves is whether we want to depend on the fact that programmers will stumble their way to the truth as they have so far, or whether we can create a discipline whereby the path can be made to reveal itself. Your note that early "programmers" were not graduates of programming schools, but mathematicians. To quote Robert Frost (I think) "... and that has made all the difference." THEY hal the discipline, the deeper understanding to write programs where none had been written before. To take a curriculum of programming without also understanding the formal foundations is to be just another software tool. Michael tiemann@mcc.com
mc68020@gilbbs.UUCP (Thomas J Keller) (09/24/86)
Richard Harter points out that the original work done in the area of computer methodology was not, in fact, done by "Computer Scientists" but by the early programmers. True enough. MY error. Many of the early programmers were, however, very much theorists in Mathematics. Some of them were Engineers. I believe that my separation of Computer Science and Programming into two distinct, if slightly over-lapped disciplines remains essentially valid. I have been informed that this identifies me as an "inflexible ego maniac." Oh well. -- Disclaimer: Disclaimer? DISCLAIMER!? I don't need no stinking DISCLAIMER!!! tom keller "She's alive, ALIVE!" {ihnp4, dual}!ptsfa!gilbbs!mc68020 (* we may not be big, but we're small! *)
edwards@uwmacc.UUCP (mark edwards) (09/25/86)
In article <1729@mcc-pp.UUCP> tiemann@mcc-pp.UUCP (Michael Tiemann) writes: >In article <10202@cca.UUCP>, g-rh@cca.UUCP (Richard Harter) writes: >> Tom Keller writes: >> > Without the theoretical foundations laid by >> > Computer Scientists (and their associates, mathematicians and EEs) the >> > "programmers" wouldn't have anything to work with. It remains the >> > theoreticians who lead the way in the development of new computing >> > technology and methodology. >> > >> Er, ah, I hate to break it to you, but this simply isn't so. >> Programming very much came first; the early programmers developed the >> principles of programming pretty much ad hoc. The theoretical foundations >> were developed after the fact. It would be much more accurate to say that >> the theoreticians *are becoming* the leaders in the development of new >> computing technology and methodology. >> >> In the case of programming, the significant developments all >> preceded the rise of computer science, which was very much an after >> the fact occurence [and is still somewhat mired in the identity search >> syndrome.] Concepts (and implementation) of ideas such as databases, >> operating systems, higher order languages, and data structures were >> brought into being by programmers. It should be noted, however, that >> the early programmers were not "graduates of programming schools"; >> they had highly varying backgrounds with a predominence of Mathematics >> and Engineering. >> -- >> >> Richard Harter, SMDS Inc. [Disclaimers not permitted by company policy.] >> For Cheryl :-) > > Er, ah, I hate to break it to you, but the theoretical >foundations were well in place before the programmers got there. >Recursion and induction (two very powerful programming techniques) >were well in place from centuries ago. The notion of an algorithm >existed before electricity was even understood. Church invented >the Lambda Calculus almost 20 years before LISP existed, theorem-proving >systems of Gentzen preceded AI, and Kleene had a number of formal language >results before the first compiler existed. I beleive the roots of Lambda Calculus can be traced farther back then that. People like liebnitz (sp ?) and others from the 12th -14th century. And the notion of artificial intelligence to the same period by I think Raoul (sp ?). One of my prof's showed my Computational Linguistics Class a reference in Latin from a book from that period. The words Artificial Intelligence were clearly distinguishable, even though it was Latin. The main problem with most Computer Scientist is that they tend to re-create the wheel, meaning they don't know about or ignore previous research or ideas (unless they see it in a recent Magazine or Journal). Thus we have people with the notions as stated in the above articles. If anyone wants I can look up the actual dates and names in my notes. mark -- {allegra, ihnp4, seismo}!uwvax!uwmacc!edwards UW-Madison, 1210 West Dayton St., Madison WI 53706
g-rh@cca.UUCP (Richard Harter) (09/27/86)
> > Er, ah, I hate to break it to you, but the theoretical >foundations were well in place before the programmers got there. >Recursion and induction (two very powerful programming techniques) >were well in place from centuries ago. The notion of an algorithm >existed before electricity was even understood. Church invented >the Lambda Calculus almost 20 years before LISP existed, theorem-proving >systems of Gentzen preceded AI, and Kleene had a number of formal language >results before the first compiler existed. Some of them, only some of them. Numerical analysis existed before computers; mathmematical logic existed before computers. But a lot of stuff didn't and the stuff that did wasn't always formulated in a relevant form. For example: Nowadays we design algorithms using general principle, e.g. greedy method, divide and conquer, and all that. Today I would expect that someone who was trained in modern methods could create the FFT (Fast Fourier Transform) as a classroom exercise; I remember when the FFT was first developed -- it was a real bombshell. It was also very mysterious. To repeat: HOL's were very much an ad hoc invention. I know about formal languages; I knew about them in 1961 when I started programming, and, believe me, they had very little to do with most programming. As Dijkstra observes, pre-computer logic was atemporal. Mathematicians did a great deal of twisting to force computer programming into the terms of classical recursion, induction, and formal logic. Data structures are mostly a modern invention; I also remember when hash coding hit the streets -- there were people who felt that hash coding was somehow illegitimate. Somebody had to invent B-trees you know. The whole concept of data structures is new. Fundamentally, you can do things with computers that could never be done before and the things that you can do are constrained by factors that are not at all apparent without the experience of programming computers. > > The reason that Computer Science *seems* like a new field is >because it can be so closely related to other existing fields such as >Algebra, Logic, and Analysis. It is true that along the way >programmers have made their contribution to the field of the science, >but the real question that people in the field of Computer >Science/Engineering must ask themselves is whether we want to depend >on the fact that programmers will stumble their way to the truth as >they have so far, or whether we can create a discipline whereby the >path can be made to reveal itself. > > Your note that early "programmers" were not graduates of >programming schools, but mathematicians. To quote Robert Frost (I Agreed. The time of the programmer making fundamental discoveries by ad hoc experimentation is past. When you don't know anything muddling about is a great way to learn something -- better than detailed analysis based on radically insufficient data. But the 'muddle about' approach only takes you so far and then you go nowhere slowly. I do suspect, however, that there is a tendency in Academia to pay insufficient attention to what can be learned from the experience of practicising programmers, but that is another matter. Premature theorization has been the bane of many sciences. > You note that early "programmers" were not graduates of >programming schools, but mathematicians. To quote Robert Frost (I >think) "... and that has made all the difference." THEY had the >discipline, the deeper understanding to write programs where none had >been written before. To take a curriculum of programming without also >understanding the formal foundations is to be just another software >tool. > >Michael >tiemann@mcc.com Well, actually, we wrote some pretty garbagy programs in the old days. [Unlike what's done, today :-)]. I'm not sure what you mean by "the formal foundations" though. You can write some pretty good software without knowing anything about the lamda-Calculus. But it is pretty hard to learn about writing good software without knowing a lot about how software is put together. Let me tell a story: Many years ago I knew a hot programmer. He was good; he could take a problem and produce a working program that got good answers in short order. However he did have one idiosyncrasy -- he didn't use subroutines. Everything was all in one big Fortran program. The day came when one of his twenty thousand line specials blew the compiler -- symbol table overflows all over the place. So he did what people told him to do; he split it up into subroutines. He divided the program in half and made a 10000 line main program and a 10000 line subroutine. Now my contention is that, nowadays, you can't be a 'good software tool' without a good grounding in theory. A lot of the stuff we did in the old days just doesn't cut it today [er, ah, oh well -- I wish that were a true statement.] But my opinion is that we could do with a lot less 'computer science' and a lot more 'software engineering'. Don't get me wrong -- computer science is interesting and valuable. But software engineering is also interesting and valuable, and a lot of people who are taking CS degrees should be in SE. Enough. -- Richard Harter, SMDS Inc. [Disclaimers not permitted by company policy.] For Cheryl :-)
g-rh@cca.UUCP (Richard Harter) (10/01/86)
Tom Keller > > Richard Harter points out that the original work done in the area of >computer methodology was not, in fact, done by "Computer Scientists" but >by the early programmers. True enough. MY error. > > Many of the early programmers were, however, very much theorists in >Mathematics. Some of them were Engineers. > > I believe that my separation of Computer Science and Programming into two >distinct, if slightly over-lapped disciplines remains essentially valid. I >have been informed that this identifies me as an "inflexible ego maniac." >Oh well. > Well, this inflexible ego maniac agrees with you. I would go further and say that there three distinct disciplines, based on the issue of where one's professional loyalties lay: (a) The applications programmer whose loyalties lay with the application. (b) The professional programmer whose loyalties lay with programming itself. (c) The computer scientist whose loyalties lay with computer science. The difference between the three lies in where their focus of interest lies. Since I wear, or have worn, all three hats, let me give some examples. As an applications programmer working for an employer on a large project I identified with the subject area (Geophysics in one case) and the needs of the employer. The focus of my efforts was on certain specific problems in applied geophysics; numerical analysis and computer programming were simply tools to use. The objective was to meaningfully process data. As a professional programmer (a person making a living writing software) my focus was on improving my skills -- learning more about how to write programs efficiently and effectively. Now improvement in my skills as a programmer was of value in my role as an applications programmer, but the objective was different. This makes for a conflict. For example, as an applications programmer I might well say "At this point I need such and such algorithm; let me look it up in a book, code it, and get on with it." Unless efficiency were an overwhelming concern, I wouldn't even be terribly interested in doing a super whiz bang job of it -- the algorithm and the code implementing it are simply tools to use for the real job. As a professional programmer whose interest lies in programming per se, my focus would be on the algorithm and the code that implements it their own right. As a computer scientist (a hat I will only lay modest claims to) my focus is still different -- I am asking things like, "How do programs get written? What has to be done to write programs? What kind of programs can be written?". I am looking for general principles. This is, in turn, a generalization and refocusing of my concerns as a professional programmer. To put it simple terms: (a) The application programmer looks up a sort algorithm in a book and writes it. (b) The professional programmer writes the best possible sort routine she or he can. (c) The computer scientist writes papers about sort algorithms. One of the things that they don't say much about in colleges is this issue of dealing with divided loyalties. The beginner, fresh out on the job market, is learning all sorts of things -- he or she is learning about what the project they are working on and practical programming all at the same time. The time comes, however, when you have to choose what you are -- and you will probably find that you are terribly constrained by where you are. In fact, academia tends to do the student a disservice, by teaching the values of academia as the only relevant values. In fact, academia has strange notions about what is important for programmers. Most programmers need not know anything about writing compilers, for example. On the other hand, they do need to know how to be a quick study -- how to learn enough about a specialized topic so that they can work with experts in the topic. -- Richard Harter, SMDS Inc. [Disclaimers not permitted by company policy.] For Cheryl :-)
g-rh@cca.UUCP (Richard Harter) (10/01/86)
In article <> edwards@uwmacc.UUCP (mark edwards) writes: > > I believe the roots of Lambda Calculus can be traced farther back > then that. People like liebnitz (sp ?) and others from the 12th -14th > century. And the notion of artificial intelligence to the same period > by I think Raoul (sp ?). One of my prof's showed my Computational > Linguistics Class a reference in Latin from a book from that period. > The words Artificial Intelligence were clearly distinguishable, even > though it was Latin. Gottfried Wilhelm Von Leibniz, 1646-1716. Coinventor (with Newton) of Calculus. He created a calculating machine (an improvement of Pascal's). Leibniz conceived of a universal calculus of logic -- it did not get very far, because the technical foundations did not exist. There was also a spaniard who had a logical wheel, resembling a circular slide rule. It had multiple disks, with each disk divided into categories. He was trying to create a universal reasoning machine. The date, however, was in the 1500s as I recall (I can't lay my hand on a reference at the moment.) The idea of a thinking machine is much older, but these were on the lines of Golems or robots and tended to be magical in character. I think it is fair to say that nothing that is now central to computer science was done before the nineteenth century, with the exception of numerical analysis. -- Richard Harter, SMDS Inc. [Disclaimers not permitted by company policy.] For Cheryl :-)
elg@usl.UUCP (Eric Lee Green) (10/03/86)
In article <1032@gilbbs.UUCP> mc68020@gilbbs.UUCP (Thomas J Keller) writes: > > Richard Harter points out that the original work done in the area of >computer methodology was not, in fact, done by "Computer Scientists" but >by the early programmers. True enough. MY error. > I believe that my separation of Computer Science and Programming into two >distinct, if slightly over-lapped disciplines remains essentially valid. SLIGHTLY overlapping? All the theories in the world are of no use if not for applications. Much of the early work in formal languages and automata was spurred by a very practical problem -- writing compilers that work. If you look at all the people who made large contributions to the "parsing problem", most of them were programmers, who were busy trying to get something done, and had the theoretical knowledge to sit back, look at what they were doing, and say "Hey! I can draw some conclusions from this!" With a little research, I can probably come up with some examples, but in any event, it would probably not be an overstatement to say Computer Science is advanced by people who have BOTH programming knowledge AND theoretical knowledge. A valid method of research is to recognize a problem, devise a solution to that problem, and try to discover the theoretical underpinnings of that solution... if you are well versed in both theory and execution, it works quite well. I've done something similiar myself... the library is stripped bare by hoards of CS grad students at the beginning of each semester, meaning a 2 week wait for any books you need, and while waiting for some books to solve a problem in an area new to me, lots of doodling got me to a point amazingly close to the theories in the books about that particular topic... Let's face it, one of the principles of science is EXPERIMENTATION. Einstein had his "Thought Experiments" to combat the lack of equipment capable of travelling at near light speed, but computer scientists have computers. By the way, somebody above posted his college's curriculum. It was amazingly difficult, consisting of hoards of numeric analysis, electrical engineering, and other such stuff. My gawd, with all that stuff, how do the students ever have time to learn?! (just a slight bias I have -- I've learned much more outside of computer science class, following my interests, than I've learned inside those classes...). -- Eric Green {akgua,ut-sally}!usl!elg (Snail Mail P.O. Box 92191, Lafayette, LA 70509) " In the beginning the Universe was created. This has made a lot of people very angry and been widely regarded as a bad move."
coatta@utcsri.UUCP (Terry Coatta) (10/04/86)
> > In fact, academia tends to do the student a disservice, by teaching > the values of academia as the only relevant values. In fact, > academia has strange notions about what is important for programmers. > Most programmers need not know anything about writing compilers, for > example. On the other hand, they do need to know how to be a quick > study -- how to learn enough about a specialized topic so that they > can work with experts in the topic. > > Richard Harter, SMDS Inc. [Disclaimers not permitted by company policy.] An academics job is to teach the ideals of academia -- they are not doing the student a disservice by any means. If a student wants to be a professional programmer, then a professional school is the appropriate institution of post secondary education for them. Those students attending universities should be well aware that the training offered there is academic, not professional. Terry Coatta Dept. of Computer Science, Univ. of Toronto, Canada M5S 1A4 {allegra,cornell,decvax,ihnp4,linus,utzoo}!utcsri!coatta -- Oh dear, I think you'll find reality's on the blink again Marvin the Paranoid Android
bzs@bu-cs.BU.EDU (Barry Shein) (10/05/86)
> In fact, academia tends to do the student a disservice, by teaching > the values of academia as the only relevant values. In fact, > academia has strange notions about what is important for programmers. > Most programmers need not know anything about writing compilers, for > example. Oh lord, anti-intellectualism, a great American tradition, makes the uneducated feel like they're worth something too (you are, stop being so defensive...) Most *anythings* don't need to know about *whatever*. Only educated people do, they are the minority, so you are correct. Don't worry, most people go through compiler courses without learning anything anyhow so they are safe by your standards. If a person does not wish to be educated, they have every right not to be. Those of us enslaved to academic values and pursuits do not sneer at such folks, in fact, they are interesting topics for research studies... I have no doubt the world is filled with mediocre souls who need to be parsimonious about their endeavors lest their little brains get filled up, which I presume is some sort of painful condition. I strongly suggest such mean folks shy away from the halls of academia so the rest of us may be free to endeavor in our frantic pursuit to be knowledgeable about everything in our fields and elsewhere. I also think that the claim that "the values of academia as the only relevant values" are the primary obsession of those in academia is quaint, did you get that from a Shavian novel? I doubt it is from any real-world experiences which you claim insight into, but it is amusing, I wish it were true sometimes. -Barry Shein, Boston University
g-rh@cca.UUCP (Richard Harter) (10/06/86)
I (Richard Harter) wrote: RH: In fact, academia tends to do the student a disservice, by teaching RH: the values of academia as the only relevant values. In fact, RH: academia has strange notions about what is important for programmers. RH: Most programmers need not know anything about writing compilers, for RH: example. On the other hand, they do need to know how to be a quick RH: study -- how to learn enough about a specialized topic so that they RH: can work with experts in the topic. And Terry Coatta replied: TC: An academics job is to teach the ideals of academia -- they are not doing TC: the student a disservice by any means. If a student wants to be a TC: professional programmer, then a professional school is the appropriate TC: institution of post secondary education for them. Those students attending TC: universities should be well aware that the training offered there is TC: academic, not professional. Sorry Terry, I can't agree with you for several reasons. First of all note that I did say "the values of academia as the only relevant values" and not the "ideals of academia". Let us agree that academia should teach, by precept at least, respect for intellectual honesty and other such virtues. I find the concept that the "An academic's job is to teach the ideals of academia" rather disquieting; if I want to be taught ideals I will attend a seminary or sit at the feet of a guru. No doubt I am reading more into your statement than you meant. Let me expand a bit on what I meant. Someone who holds an academic position has definite ideas on what is important and what is not which are conditioned by the fact of his or her employment as an academic. In particular, those areas which are live areas of research (or at least suitable for writing papers about) are important. To an academic, the utility outside of academia of knowledge is only of modest importance. Now I am not complaining about this state of affairs. And if all students were all to go on and become professors then there would be no problem. But if they are (implicitly) told that, in effect, "research is the only thing worth doing", and "working in industry is selling out", and "the only things worth studying are those areas of interest in academia", and "creating a production quality product is irrelevant", and "intellectual curiosity is the pre-eminent value and is more important than the needs of your employer", then I suggest that the average student -- who is not going to become an academic -- is being done a disservice. And make no mistake; all too many people do come out of the universities with just those ideas. I also have reservations about the following: "If a student wants to be a professional programmer, then a professional school is the appropriate institution of post secondary education for them. Those students attending universities should be well aware that the training offered there is academic, not professional." What do you mean by "a professional school"? Are you suggesting that someone who wants to become an Electrical Engineer should not attend a university? Would you like to go on record as saying that "The training offered at Stanford is academic, not professional"? I hope not. Perhaps you feel programming is a trade similar to automobile repair and ought to be taught and regarded in the same way. Again, I hope not. -- Richard Harter, SMDS Inc. [Disclaimers not permitted by company policy.] For Cheryl :-)
g-rh@cca.UUCP (Richard Harter) (10/06/86)
I (Richard Harter) wrote: RH: In fact, academia tends to do the student a disservice, by teaching RH: the values of academia as the only relevant values. In fact, RH: academia has strange notions about what is important for programmers. RH: Most programmers need not know anything about writing compilers, for RH: example. And Barry Stein responded: BS: Oh lord, anti-intellectualism, a great American tradition, makes the BS: uneducated feel like they're worth something too (you are, stop being BS: so defensive...) Soothing noises. If it makes you feel better, go ahead and be defensive. I don't mind. Take two aspirin and it'll all go away in the morning. BS: Most *anythings* don't need to know about *whatever*. BS: BS: Only educated people do, they are the minority, so you are correct. BS: Don't worry, most people go through compiler courses without learning BS: anything anyhow so they are safe by your standards. More soothing noises. My goodness, we are upset aren't we. Will it help if I point out that your reaction is a massive non-sequitor? No? I didn't think so. BS: If a person does not wish to be educated, they have every right not to BS: be. Those of us enslaved to academic values and pursuits do not sneer BS: at such folks, in fact, they are interesting topics for research BS: studies... BS: BS: I have no doubt the world is filled with mediocre souls who need to be BS: parsimonious about their endeavors lest their little brains get filled BS: up, which I presume is some sort of painful condition. I strongly BS: suggest such mean folks shy away from the halls of academia so the BS: rest of us may be free to endeavor in our frantic pursuit to be BS: knowledgeable about everything in our fields and elsewhere. Sigh! Pathetic, positively pathetic. I love your rhetoric. BS: I also think that the claim that "the values of academia as the only BS: relevant values" are the primary obsession of those in academia is BS: quaint, did you get that from a Shavian novel? I doubt it is from any BS: real-world experiences which you claim insight into, but it is BS: amusing, I wish it were true sometimes. Shavian novel!!? To tell the truth I will unabashedly admit that not only have I not read any of Shaw's novels, I don't even know of any. I have, however, read and attended a number of his excellent plays. Pray recommend some of them (his novels) and I will sample them posthaste. I also think that 'the claim that "the values of academia as the only relevant values" are the primary obsession of those in academia' is quaint. And where did *you* get that from? Not from anything I wrote, my friend. Now I may not be an expert of Shavian novels, but I have been in the business for twenty five years, so I suppose I do have some real-world experiences of one sort and another -- including persuading frustrated would-be compiler writers that no, we don't need a home grown data analysis language complete with an LALR grammar, and, yes, they are going to have to learn about FFT's and data analysis and they'd better do it damn quick and get on with the job that they were hired to do. But it doesn't bother me -- six months with the knout straightens them out, and if that won't do it a summer of Gilligan's Island reruns will :-). Seriously -- I will contend that most computer science students will be hired as and expect to be employed as software engineers and that the training that they receive as computer science students is not entirely appropriate. -- Richard Harter, SMDS Inc. [Disclaimers not permitted by company policy.] For Cheryl :-)
andy@Shasta.STANFORD.EDU (Andy Freeman) (10/07/86)
In article <10410@cca.UUCP> g-rh@cca.UUCP (Richard Harter) writes: >Are you suggesting that someone who wants to become an Electrical >Engineer should not attend a university? Would you like to go on >record as saying that "The training offered at Stanford is academic, >not professional"? I heard in the late 70's (I have a Stanford BSEE) that the EE programs at Stanford and MIT weren't accredited. I still don't care enough to check. (I'm not sure what accreditation means in the professional vs. academic argument, but it is interesting that no one at Stanford seemed concerned.) He continued: > Let me expand a bit on what I meant. Someone who holds an >academic position has definite ideas on what is important and what is >not which are conditioned by the fact of his or her employment as an >academic. In particular, those areas which are live areas of research >(or at least suitable for writing papers about) are important. To an >academic, the utility outside of academia of knowledge is only of >modest importance. You obviously haven't tried to live on a professor's salary in the Santa Clara valley or near Boston. :-) But seriously, professors here consult extensively/expensively and/or have companies. They also get a lot of industrial funding. Assuming that these companies are getting their money's worth, either the professors aren't academics (by your definition) or these companies value their academic bent. (I suspect your definition.) BTW - Stanford just started an undergraduate computer science program. (This program is in the CS dept; the mathematical sciences and philosophy degrees weren't.) It is intended as a non-terminal degree, ie it is for people who plan on advanced CS degrees; it is not supposed to train programmers. (I think it is a little weak in programming skills.) The trend in Stanford's CS PhD program is to admit more people with CS backgrounds, but I'd be mildly surprised if half of the people admitted this year had one. (I know that fewer than half did a couple of years ago.) Some of the professors here claim that undergraduate CS programs aren't that valuable; some of them do think that they are becoming more valuable. (Then again, one of the candidates for dept chairman said that MS degrees were for people who didn't get a CS undergrad degree. We didn't take him.) -andy -- UUCP: ...!decwrl!glacier!shasta!andy forwards to ARPA: andy@sushi.stanford.edu (415) 329-1718/723-3088 home/cubicle
jhodgson@sjuvax.UUCP (J. Hodgson) (10/08/86)
Keywords:Concepts Academics teach concepts. One of the results of this is that if we do it right our students are quick studies!
g-rh@cca.UUCP (Richard Harter) (10/08/86)
In article <> andy@Shasta.UUCP (Andy Freeman) writes: > >I heard in the late 70's (I have a Stanford BSEE) that the EE programs >at Stanford and MIT weren't accredited. I still don't care enough to >check. (I'm not sure what accreditation means in the professional vs. >academic argument, but it is interesting that no one at Stanford seemed >concerned.) Aha!! I always suspected that. :-) > >You obviously haven't tried to live on a professor's salary in the >Santa Clara valley or near Boston. :-) But seriously, professors >here consult extensively/expensively and/or have companies. They >also get a lot of industrial funding. Assuming that these companies >are getting their money's worth, either the professors aren't academics >(by your definition) or these companies value their academic bent. >(I suspect your definition.) > Good point. [Make that some professors though.] My thesis was not so much that academics were unconcious of the value of money (something that no one who has ever negotiated a consulting contract would credit) but that the biases and viewpoints of someone in an academic position will be different from those of someone in industry. Ignoring for the moment the cases where companies don't get their money's worth (not uncommon), I don't think your dichotomy is a true dichotomy. If we grant that the entrepenurial professor is a true academic (there are purists who don't agree) we don't have to conclude that the purchasers want their academic bent -- what they want is their [the professors] specialized knowledge. In particular, they want that portion that is relevant to their application. There is nothing, after all, that says that academic knowledge must be devoid of utility. -- Richard Harter, SMDS Inc. [Disclaimers not permitted by company policy.] For Cheryl :-)
andy@Shasta.UUCP (10/10/86)
g-rh@cca.UUCP (Richard Harter) wrote: >andy@Shasta.UUCP (Andy Freeman, ie I) wrote: >>But seriously, professors here consult extensively/expensively and/or >>have companies. They also get a lot of industrial funding. Assuming >>that these companies are getting their money's worth, either the >>professors aren't academics (by your definition) or these companies >>value their academic bent. (I suspect your definition.) >> > Good point. [Make that some professors though.] I should have said "most Stanford CS professors consult and some have companies." > Ignoring for the moment the cases where companies don't get >their money's worth (not uncommon), I don't think your dichotomy is >a true dichotomy. If we grant that the entrepenurial professor is >a true academic (there are purists who don't agree) we don't have to >conclude that the purchasers want their academic bent -- what they >want is their [the professors] specialized knowledge. When I said "I suspect your definition [of academic].", I meant that I don't believe it is nearly as common/accurate as you seem to think. The entrepenurial professor can't behave as an academic (if it is fatal in the commercial world) because he is the company. (I'd be surprised if consultants were significantly less, or more, productive. If they are, then a company that adjusted would have a significant advantage.) Actually, professors behave differently in a commercial setting than they do in an academic one. What is that you said about "being a quick study" as the most important ability in the commercial world? -andy ps - Until my third year of CS classes, I used a different language in every class. Is that enough change? (That's what happens if you're in school when everything is changing.) -- UUCP: ...!decwrl!glacier!shasta!andy forwards to ARPA: andy@sushi.stanford.edu (415) 329-1718/723-3088 home/cubicle
coatta@utcsri.UUCP (Terry Coatta) (10/10/86)
> > Now I am not complaining about this state of affairs. And if > all students were all to go on and become professors then there would > be no problem. But if they are (implicitly) told that, in effect, > "research is the only thing worth doing", and "working in industry > is selling out", and "the only things worth studying are those areas > of interest in academia", and "creating a production quality product ------------------------------------- > is irrelevant", and "intellectual curiosity is the pre-eminent value ------------- ----------------------------------------------- > and is more important than the needs of your employer" ----------------------------------------------------- Your first comment implies that work produced by academics is generally not of production quality, which I am inclined to interpret as meaning that it is somehow shabby. I do not believe this to be the case. The programs that I write (and the way I try to teach people to program) are hopefully well-written, well-commented, and well-documented. However, they do not generally include a lot of online help, the documentation is not aimed at the novice user, and a variety of small features (which I regard as being trivial to implement) may not be present. Thus, these prgrams are not of production quality -- but why should I bother to waste my time doing "busy-work", the university isn't paying me for the resulting boredom, I'm not learning anything (well perhaps I'm improving my typing skills), and I'm not going to market the thing anyway. The point is I could add these things if someone ordered me too, but I get upset when I have waste my time doing them when what I should be doing is LEARNING -- learning techniques for approaching problems, learning how to analyze, learning how to think. > > I also have reservations about the following: "If a student > wants to be a professional programmer, then a professional school is > the appropriate institution of post secondary education for them. > Those students attending universities should be well aware that the > training offered there is academic, not professional." What do you > mean by "a professional school"? Are you suggesting that someone > who wants to become an Electrical Engineer should not attend a > university? Would you like to go on record as saying that "The > training offered at Stanford is academic, not professional"? > I hope not. Perhaps you feel programming is a trade similar > to automobile repair and ought to be taught and regarded in the > same way. Again, I hope not. > Richard Harter, SMDS Inc. [Disclaimers not permitted by company policy.] > For Cheryl :-) I don't know why you hope not. When I was busy being an undergrad we had some people in from "industry" and they told us they didn't like to hire grads from the university because they were inclined to ask too many questions -- "Are you sure you want this feature? Wouldn't the system be better if...?" They said they wanted programmers who had a good grasp of a variety of languages, knew various standard techniques for accomplishing things (B-trees, ISAM...), and most of all WHO DID WHAT THEY WERE TOLD WITHOUT ASKING QUESTIONS. Now these programmers that they wanted sound a lot to me like car mechanics -- know the make, the model, fix it. I sincerely hope that graduates from university never do what they are told without asking any questions -- I hope that they have become critical thinkers, and will approach everything they do by asking questions, and finding the best way of doing it. I repeat, if I had wanted to go and get a job as a programmer I would not go to a university. I came to the university because I wanted to find out how compilers worked, I wanted to know about the theoretical underpinnings of these machines that I was working on, I wanted to be curious -- I did not want to know how to program in COBOL, I did not want to spend weeks adding help screens to my programs, I did not want to just sit back and do what I was told without being curious about whether there were other ways of do it. At the risk of severe flamage for excess rambling I'll go on a bit more. I suspect your idea of a professional programmer does not coincide with mine, and perhaps this is because your perception of the work environment for professional programmers is different. My experience is that the demands of the typical employer are "do what I want, and do it quickly before we lose any more profits". As long as this is the attitude that a professional programmer is going to encounter in the "real world" then better for professional programmers to be car mechanics -- it will result in a lot less aggravation for them. And since we don't train car mechanics at universities, lets not train their programmer counterparts their either. Terry Coatta Dept. of Computer Science, Univ. of Toronto, Canada M5S 1A4 {allegra,cornell,decvax,ihnp4,linus,utzoo}!utcsri!coatta -- Oh dear, I think you'll find reality's on the blink again Marvin the Paranoid Android
g-rh@cca.UUCP (Richard Harter) (10/13/86)
J. Hodgson writes: >Academics teach concepts. One of the results of this is that if we do it >right our students are quick studies! Nice concise statement. Is it true, though? Let me pose two questions: (1) Are the teaching methods used in academia conducive to learning to be a quick study? and (2) If they are not, would methods which are suitable for producing quick studies be appropriate in an academic setting. Perhaps I should add a third question: What am I talking about when I use the term 'quick study'? Let me answer the latter question. Consider our SE in action. She has a new assignment which, for the sake of explicitness, I will assume to be the specification, design, and implementation of a real time data gathering and reduction system for marine seismic data. System specification and design are to be done in collaboration with geophysicists specializing in marine seismology; the hardware to be used is a machine and operating systems that she has never used before. Specification of the data analysis algorithms will be done jointly with the geophysicists; she will be expected to supply signifigant input as to the appropriateness of the techniques to be used. Implementation will be done in part by her and in part by programmers working under her direction. [As you may gather, this is a real example.] Now what our heroine has to do amounts to this. She has to locate the resources that describe the machine and its operating system and extract from those resources enough information to do an intelligible and reasonable design; note that she does not have to have a comprehensive knowledge -- she merely has to extract the relevant information. She must learn a certain amount about the jargon and concepts that the geophysicists use; again she does not have to become a geophysicist, but merely has to learn to talk to them and translate their needs into her requirements. To do so she will need to have at hand a certain amount of scientific knowledge at hand and some she will have to pick up on the fly. (For example, she will have to either understand or learn about elementary filter theory.) The task will probably imply the use of computational methods that are not part of the domain of knowledge of the geophysicists. It will be her task to recognize these computational requirements and to select the appropriate algorithms. And then, on her next assignment .... -- Richard Harter, SMDS Inc. [Disclaimers not permitted by company policy.] For Cheryl :-)
g-rh@cca.UUCP (Richard Harter) (10/14/86)
In article <> coatta@utcsri.UUCP (Terry Coatta) writes: >> >> Now I am not complaining about this state of affairs. And if >> all students were all to go on and become professors then there would >> be no problem. But if they are (implicitly) told that, in effect, >> "research is the only thing worth doing", and "working in industry >> is selling out", and "the only things worth studying are those areas >> of interest in academia", and "creating a production quality product > ------------------------------------- >> is irrelevant", and "intellectual curiosity is the pre-eminent value > ------------- ----------------------------------------------- >> and is more important than the needs of your employer" > ----------------------------------------------------- > >Your first comment implies that work produced by academics is generally >not of production quality, which I am inclined to interpret as meaning >that it is somehow shabby. I do not believe this to be the case. The >programs that I write (and the way I try to teach people to program) >are hopefully well-written, well-commented, and well-documented. However, >they do not generally include a lot of online help, the documentation is >not aimed at the novice user, and a variety of small features (which >I regard as being trivial to implement) may not be present. Thus, these >programs are not of production quality -- but why should I bother to >waste my time doing "busy-work", the university isn't paying me >for the resulting boredom, I'm not learning anything (well perhaps >I'm improving my typing skills), and I'm not going to market the thing >anyway. The point is I could add these things if someone ordered me >too, but I get upset when I have waste my time doing them when what >I should be doing is LEARNING -- learning techniques for approaching >problems, learning how to analyze, learning how to think. > Ouch. It is quite clear that we have different images of production quality software. Let me elucidate. Significant features of production quality software include: (a) The software will run by a number of people (customers) who have paid hard cash for the software. These people will not know the details of the software and usually will not have access to the source. It must be possible for these people to run the software without a knowledge of its contents and without contact with the creators of the software. (b) Pursuant to (a) the software must be substantially and correctly documented from the prospective user's viewpoint. This documentation should not presume special knowledge available to the creator of the program. (c) The software should be substantially error free (ideally it should be completely error free -- however.) It should work not only when used by the creator, but also when used by the end users. In particular there should be no "don't do that because we didn't take care of that case" loose ends. (d) The software should be rigorously tested. It is not enough that it works in the small number of situations of immediate interest to the creator. It must work under a wide variety of situations. Testing and validation is a major part of the work in preparing production software (or ought to be.) (e) The software should have detailed error handling, and input and data validation. Error recovery and proper handling of erroneous input should comprise a significant portion of both the code and the design. (f) There should be either implicitly or explictly a quality control process. (g) There should be carefully controlled procedures for generating the software actually shipped to the customers. All released software should be clearly identified as to content and origin. (h) Typically, production software is the product of more than one person and may run from tens of thousands to millions of lines of code. The entirety of the software should be coherent in design, methodology, and style, and should be readily maintainable as a whole. The work of individual contributors should fit into the main body. (i) The software should be well engineered. This includes analysis of a variety of tradeoffs. I could go on. Perhaps I should make the caveat that much software that is commercially available is not of production quality by the standards I have listed :-). However I wouldn't list fancy help screens as a criterion for production quality software. A nicety, perhaps, but not a gut issue. Now let us consider a typical program in an academic setting. [That is, if there is such an animal -- BSD4.x and the beginning student's first program don't have much in common.] I suggest that the following features are common: (a) The program is used principally by the creator and a few close associates. (b) The program is freely modifiable by the users if it does not work to expectations. (c) Testing is principally restricted to the immediate uses intended by the creator. (d) The software is not part of a much larger body of software. (e) Version control and release control are not major issues. (f) Long term maintenance by people other than the creator is not a major issue. Note that I am not claiming that these features are always the case, but merely that they are very common. Nor am I claiming that programs of these kinds are shabby or somehow undesirable. There are things that should be done in one context and are irrelevant in another. A good Software Engineer should know what these things are. If I am writing a program which will be used by 10,000 people there are things that I had better do that are not important if I am going to be the only user. Terry makes the point that he teaches his students to write programs that are well written but are not elaborated. He goes on to say that he feels that he (and presumably his students) should not have to do more than that; his (and their) time is spent more profitably in learning. I agree. Clearly, one should not invest more effort into a program than is warranted by its ultimate value (as measured by the total usage of the program.) This is the kind of engineering tradeoff decision that one makes all of the time. Nonetheless there are substantive differences between software production in an academic setting and in "industry" as I hope I have made clear. And I will say, dogmatically, that it rests on academia to understand what those differences are and to teach something about the nature of producing production quality software. I would also add that there is a common fault in new programmers, which is, essentially, they have an underdeveloped sense of responsibility and professional obligation (sometimes known as professional ethics). [It is not infrequent in old programmers also.] In part, this is because we all like to play with the machines. In part it is simply the case that young people are often still making the transition from play to work. The idea that one owes one's principal loyalties and efforts to one's employer and that one's activities should not impede your fellow employees is one that has to be learned [quite often rather rudely from your immediate supervisor.] It may well not be legitimate to blame the universities for this state of affairs; however I will express the wish that professional ethics and a minimal knowledge of what will be expected of them as employees were a part of the core curriculum. -- Richard Harter, SMDS Inc. [Disclaimers not permitted by company policy.] For Cheryl :-)
g-rh@cca.UUCP (Richard Harter) (10/14/86)
In article <> coatta@utcsri.UUCP (Terry Coatta) writes: >> I hope not. Perhaps you feel programming is a trade similar >> to automobile repair and ought to be taught and regarded in the >> same way. Again, I hope not. > >I don't know why you hope not. When I was busy being an undergrad we >had some people in from "industry" and they told us they didn't >like to hire grads from the university because they were inclined to >ask too many questions -- "Are you sure you want this feature? Wouldn't >the system be better if...?" They said they wanted programmers who >had a good grasp of a variety of languages, knew various standard >techniques for accomplishing things (B-trees, ISAM...), and most of all >WHO DID WHAT THEY WERE TOLD WITHOUT ASKING QUESTIONS. Now these >programmers that they wanted sound a lot to me like car mechanics -- >know the make, the model, fix it. I sincerely hope that graduates >from university never do what they are told without asking any >questions -- I hope that they have become critical thinkers, and >will approach everything they do by asking questions, and finding >the best way of doing it. I repeat, if I had wanted to go and >get a job as a programmer I would not go to a university. I came >to the university because I wanted to find out how compilers >worked, I wanted to know about the theoretical underpinnings of >these machines that I was working on, I wanted to be curious -- >I did not want to know how to program in COBOL, I did not >want to spend weeks adding help screens to my programs, I did >not want to just sit back and do what I was told without >being curious about whether there were other ways of do it. > >At the risk of severe flamage for excess rambling I'll go on a bit >more. I suspect your idea of a professional programmer does >not coincide with mine, and perhaps this is because your perception >of the work environment for professional programmers is different. >My experience is that the demands of the typical employer are >"do what I want, and do it quickly before we lose any more profits". >As long as this is the attitude that a professional programmer >is going to encounter in the "real world" then better for >professional programmers to be car mechanics -- it will result in >a lot less aggravation for them. And since we don't train >car mechanics at universities, lets not train their programmer >counterparts their either. > I sympathize. Actually, there are two rather distinct programming environments. There is the world of business programming (about 65%) and everything else. And they are very different environments. A lot of COBOL shop programming is, from my viewpoint, depressing, not to say horrid. First of all it is traditionally split between analysts and coders (who are often expected to operate at the trade school level.) Secondly the pressures are high and the work very quickly becomes repetitive (this is report writer 1001, tomorrow we want #1002 and #1003). However, I have the impression, perhaps unfairly taken, that you understand or know very little about the "real world" of the professional programmer. My impression is that you have substantially misunderstood what you were being told by "industry". "Don't ask questions" is your rendition, but I suspect it is a misunderstanding. Let me phrase it as follows, "Your scope for innovation and change of design and specifications is limited because changes of this type are expensive and have an impact far beyond yourself; you will not have the freedom of innovation that you had when you were creating software for yourself. If you do not understand and accept this, then your value is limited." As a member of larger team you do not have the freedom of action that you have as an individual, nor do you have the freedom to set goals for the organization that you do for yourself. You have some freedom, but not as much. On the other hand, you have greater resources at hand and you are participating in a much larger achievement. Personally, my sympathies are with the freedom of action, but that is another story. I find your final conclusion depressing because it tells me that (a) you don't know very much about industry, (b you are hostile to it on a basis of ignorance, and (c) you are probably passing your misconceptions onto your students. Perhaps I am doing you a major injustice; please feel free to correct me [flames optional]. However that is the impression I am given. -- Richard Harter, SMDS Inc. [Disclaimers not permitted by company policy.] For Cheryl :-)
laura@hoptoad.uucp (Laura Creighton) (10/16/86)
In article <3447@utcsri.UUCP> coatta@utcsri.UUCP (Terry Coatta) writes: > >An academics job is to teach the ideals of academia -- they are not doing >the student a disservice by any means. If a student wants to be a >professional programmer, then a professional school is the appropriate >institution of post secondary education for them. Those students attending >universities should be well aware that the training offered there is >academic, not professional. I sure didn't know that, and I know a lot of people in the same boat. I was interested in computers, and I had a scholarship to the University of Toronto, and it was a good school, so I went. I never thought about it, which was, of course, my most serious mistake, and look what happened. I think that over all I would have been much happier if I had gone into electrical engineering. But I was looking at the course outline posted for CS (Software Engineer) as opposed to CS (theoretical) and thought -- wow! You see, I would have liked to take almost every one of the software engineering courses, and a few of the theoretical ones. Instead, I went to a school that taught all (almost all) of the theoretical courses and almost none of the software engineering ones. [I didn't think the emphasis on languages appropriate, but then again for a few not all that difficult filler courses they wouldn't be all that bad.] David Marks sure has me pegged. Some day i would love to get published in the COMMUNICATIONS of the ACM, but the JOURNAL -- I can't remember the last time I wanted to read anything there. Which is not the same thing as not wanting to learn -- I just wish that I had met David Marks before I applied to university and he told me about this list and the difference between SE and Theoretical CS. -- ``Never string ethernet in the presence of a kitten.'' Laura Creighton ihnp4!hoptoad!laura utzoo!hoptoad!laura sun!hoptoad!laura toad@lll-crg.arpa
laura@hoptoad.uucp (Laura Creighton) (10/16/86)
Terry Coatta, I worked and went to school at U of Toronto for 6 years. And as far as I know, I never met you. And none of what Richard Harter said may apply in the slightest bit to you personally. But if you do not know what he means then you are burying your head in the sand. Do you want the names of the University of Toronto professors who told their classes publically that they should not use lint on their C programs? Not that C is used very much at U of T, these days, but I was working in the advising office and got to tell all these students that they wouldn't need to ask me how to fix thier programs if they would just use lint. But, no, professor so-and-so told them not to use it. Of course not. Professor so-and-so started wrtiting code in v6 days and doesn't want to convert it to v7 type code. I got angry and tracked down those professors, but I don't know if they are still advising their students not to use lint. Do you want the name of the U of T professor who would not believe me for a month when I told him that he *must* *must* *must* declare malloc to return char *? The machine we now had, unlike a vax, 2 registers to put return values in. And ints went in one, and pointers went in another. And if you don't declare malloc you will get whatever trash is in the other register instead of a pointer. Or the U of T professor whom I had to explain what virtual memory was to? Don't get me wrong -- U of T is a great place. ANd i actually think that the professors there, especially the AI people and the people at CSRI program significantly better than any professors I have met at any university in North America with the exception of Stanford. And there is nothing wrong with the fact that the U of T professors are not able to program well -- that is not what most of them are interrested in doing well. (Moreover, I made a rather good living while I went to school there doing almost nothing else but porting bad code written by professors and grad students from one machine to another.) The annoying thing was that my father was a doctor and a U of T associate professor. And my mother was a teacher and had gone to U of T. Naturally, I was expected to go to U of T. And, not unreasonably, I thought that I was going to learn how to be a professonal at U of T -- that was the reason I went there. I didn't go there to learn theoretical knowledge -- I had been reading books from the U of T bookroom all my life, and theoretical knowledge you can find in books. I wanted to know what all the hot new research in CS was (and U of T professors don't have enough time to explain their research to every interested undergradaute) and I thought that I would learn how to be a professional, so that I could go out into industry and build wonderful software, and in general make the world a better place to live in. But how to be a prefessional was not on the curriculum. And I found that the hot new research was done by grad students who only got it enough done to get their degree. And that then the research would be ignored, and not finished up, and thus not seen by the rest of the world, in industry, who really could use it to make the world a better place. And I found that there was enough professors in DCS that rained hail and slung insults at the CSRG (it was CSRG in these days) for being too practical, and too much like engineering, that U of T has *2* computer science schools. Thank goodness for the Stanford Fleming Fire, which isolated them! I can go on and on. And U of T is a particularily good place in terms of finding Software Engineers who also are also professors. I mean -- there are some there. If you want to find some, you can. Perhaps you are one of the best ones there -- I don't know -- I don't think that I ever met you. But look around you. There are professors at U of T who think very well, but cannot program their way out of a paper bag. That is what they have grad students, and hire other students like me for -- to do the programming. This is fine; I am not coming down on them. Some of the people who program the lousiest are my best friends and some of the most brilliant thinkers there. But like the bulk of the students that I went to U of T with, I went there with the idea that I would be taught to be a professional programmer there, at the university, in class. Everybody I met when I was a teenager assured me that that was what I would get at U of T. And they were wrong -- or mostly wrong. I learned how to be a professional programmer at U of T by hanging around people in the Physics and Astronomy department, who had a theoretical knowledge, not of Computer Science, but of Physics and Astronomy. What they did have was a good practical knowledge of: this program must run, and give correct results, cause nobody will care about our beautiful thoughts if we get the answers wrong this program must be documented so that the next guy to make a change, 4 years from now, will know what is going on this program must be easy to maintain this program must be portable so that when we buy a pdp/11, {vax, array processor, time on a Cray, give a portable field unit to some of our grad students} all of our work does not grind to a halt as we rewrite code for years I went to U of T. It was a remarkable experience, and I got a great education. But I would advise people there who do not want to be academics to stop caring so much about your marks, study less, and hang out with people at U of T writing application software for use in the other science departments, like physics and zoology and chemistry. Because there is a lot going on there which is more useful to know in the real world than 20 lemmas about Turing machines, which you can always look up in your textbook if you ever need to know them in the real world. And I am being too hard now -- you just pushed a real big button of mine. There are some very, very, very brilliant people who are computer science professors at U of T. Just to meet them is a wondeful and uplifting experience. If you are not obsessed with marks, most of the cse classes I took were an incredible amount of fun. I liked it. It is just when I see the wasted, 95% done and I have got my PhD now out of it, abandoned work done by legions of U of T grad students that I despair. You see, a lot of these work has good practical applications which are really needed and wanted in industry, but who has time to read all the research being done by grad students all over the world in order to find the few gems that you personally have an application for right now? So it just dies. And in academia people go on to new things which have a thesis in them... But I digress. sorry. One final thing -- for you grad students out there. Who do you think has more influence in this world -- your adviser, or Bill Joy? It is industy which has given Joy his influence. If having influence in this world is one of the things that motivates you, and something which is important to you, and you don't think that you are going to be the next Nicolas Wirth, then you may be in the wrong place right now. -- ``Never string ethernet in the presence of a kitten.'' Laura Creighton ihnp4!hoptoad!laura utzoo!hoptoad!laura sun!hoptoad!laura toad@lll-crg.arpa
jjboritz@watrose.UUCP (Jim Boritz) (10/17/86)
In article <1195@hoptoad.uucp> laura@hoptoad.UUCP (Laura Creighton) writes: >to another.) > >But how to be a prefessional was not on the curriculum. And I found that > . > . > . >But like the bulk of the students that I went to U of T with, I went >there with the idea that I would be taught to be a professional >programmer there, at the university, in class. Everybody I met >when I was a teenager assured me that that was what I would get at >U of T. And they were wrong -- or mostly wrong. I learned how to >be a professional programmer at U of T by hanging around people in >the Physics and Astronomy department, who had a theoretical knowledge, >not of Computer Science, but of Physics and Astronomy. What they >did have was a good practical knowledge of: >-- >``Never string ethernet in the presence of a kitten.'' >Laura Creighton >ihnp4!hoptoad!laura utzoo!hoptoad!laura sun!hoptoad!laura >toad@lll-crg.arpa Well you'll be glad to know that nothing has changed. People still go to University with the idea that university will teach them how to be a professional programmer. These people are still all wrong. Unfortunately they are also wrong to expect this from the "university". There are very few universities which claim a ciriculum which will turn you into a professional. There are no courses labelled PRO 101. I don't think that there is a single academic that claimed that by simply attending classes anyone will become a professional. Most academics do not think that it is the responsibility of a university to teach students about being a professional blank (fill in the name of your favorite profession). If you look at universities historically you will find that it is only with our *modern* era that universities have become somehow turned into technical schools. University schools of engineering or computer science are fairly recent additions to the old notion of academia. When I say recent I mean 50 - 100 years. Now it is true that these fields did not exist in the well defined formats we see them in now, and they are outgrowths of older schools like science and mathematics. Now in the past there has not been a truly strong link between industry and academia except that academia turns out graduates that go into industry. A great many academics do not feel that the links between university and academia should be strengthed. I go to a university with very strong ties into industry though, but even here there is a distinction between academia (big on research small on development) and industry (big on development small on research). I guess I have done a lot of mumbling but to sum it up, if you want to be taught about how to be a professional, get a job and talk to other professionals. Do not expect a university to do it for you. They have never claimed to do it for you. Your friends told you that you would learn about being a professional by going to U of T. They did not tell you how though, and in the end you did learn about it while being at university even though not a single professor ever talked about it in class. This translates into: You went to university and somehow learned to be a professional. Those people that told you that you were going to learn about being a professional ended up being right after all. Ok I'll stop but just let me say that one of the goals of university is to teach you how to learn on your own and adapt to new enviroments and situations quickly. If you have ever been out in industry you will have to deal with the people that keep a list of all the commands they ever use on a piece of paper beside their terminal and when they loose the piece of paper they call an *expert* to help them. ---------------------------------------------------------------------- Jim turn the volume down. Huh? You're getting excited again. jjboritz@watrose Jim Boritz
mc68020@gilbbs.UUCP (Thomas J Keller) (10/19/86)
This argument has gotten utterly ridiculous. We have heard from San Diego that there is no need for people to study the theory of computing, we have heard from various other sectors that industry doesn't need or want Computer Scientists, and we have heard from still other sectors that the educational systems are defrauding students, by permitting them to study Computer Science when what they *REALLY* wanted was Professional Programming. What a bunch of horse puckey. I think the only way we could please most of these provincials is to simply to henceforth ban the teaching of theoretical computer science completely. After all, according to them, industry neither needs nor wants computer scientists, so obviously there is *NO* value in teaching it. (might as well ban the teaching of theoretical physics, mathematics, etc., while we're at it) Any student who can get all the way through a 4 year program in *ANYTHING* and not realize that this program was *NOT* preparing them for what they wished to be prepared has no sympathy from me! If they'd take a look at the real world outside their classroom, do a little research, they would have a pretty damned good idea what the curriculum they're being offered was aimed at, and could effectively evaluate its worth in light of their goals. If they *DON'T* do so, they're lazy, stupid slobs who haven't any business in an institution of higher education in the first place. **YOU** are responsible for your education, the management of that education, and the quality of the education you receive. No one else. The proposition is really quite simple: Computer Science, Software Engineering, and Programming are very different professions. They overlap in some areas, and certainly the FUNDAMENTAL skills required for all three are similar, if not identical. This, however, does NOT mean that we should destroy the theoretical orientation of the Computer Science department, in order to train Software Engineers or Programmers. These people need their *OWN*, independent departments, optomized to provide them with the best training available for their chosen professions. It is utterly ridiculous to suggest otherwise. -- Disclaimer: Disclaimer? DISCLAIMER!? I don't need no stinking DISCLAIMER!!! tom keller "She's alive, ALIVE!" {ihnp4, dual}!ptsfa!gilbbs!mc68020 (* we may not be big, but we're small! *)
anderson@uwmacc.UUCP (Jess Anderson) (10/20/86)
Tom Keller writes: > > This argument has gotten utterly ridiculous. We have heard from San Diego > that there is no need for people to study the theory of computing, we have > heard from various other sectors that industry doesn't need or want Computer > Scientists, and we have heard from still other sectors that the educational > systems are defrauding students, by permitting them to study Computer Science > when what they *REALLY* wanted was Professional Programming. [...] > The proposition is really quite simple: > > Computer Science, Software Engineering, and Programming are very different > professions. They overlap in some areas, and certainly the FUNDAMENTAL skills > required for all three are similar, if not identical. This, however, does NOT > mean that we should destroy the theoretical orientation of the Computer Science > department, in order to train Software Engineers or Programmers. These people > need their *OWN*, independent departments, optomized to provide them with the > best training available for their chosen professions. > > It is utterly ridiculous to suggest otherwise. > I've been reading this discussion for some time now, holding my peace. Maybe it's because things have changed so much since I was in school, but I think Tom is quite right. What *is* going on in the minds of our students when they go to college? What do they expect? I've been so exasperated with this whole discussion recently because it strikes me (maybe it's just me, and I guess Tom) as *too* immature to expect the school to train you for a job. I'm frustrated because I don't think that's what going to school is for. I'm down on the institutions, too, because what they offer is *too much* like vocational training. But I don't want to rant over those points. Instead, I'd like to give counsel to those looking for real-world solutions to real-world problems. Trouble is, that isn't so easy, because there are tremendous conflicts built into the whole situation in higher education. Tuition is rising, students graduate with crushing debts, the society breeds greed and dreams of "making it big," and dozens of other factors make it nearly impossible to know how to direct yourself in the interval between high school and life at work, even if you are one of those (increasingly rare) persons who does *not* depend on some authority figure for life's basic decisions (I know my biases are showing, but what can I do :-). Let me just collapse all my great recommendations into one, because in fact it subsumes all others: --> Learn to read and write effectively! <-- If you can do that, everything else is going to be substantially easier. The better you can do it, the richer, more interesting, and more productive your life will be. If you have language literacy, everything else will be a snap, including success, if that's what turns you on. -- ==ARPA:====================anderson@unix.macc.wisc.edu===Jess Anderson====== | (Please use ARPA if you can.) MACC | | UUCP: {harvard,seismo,topaz, 1210 W. Dayton | | akgua,allegra,ihnp4,usbvax}!uwvax!uwmacc!anderson Madison, WI 53706 | | BITNET: anderson@wiscmacc 608/263-6988 | ==Words are not just blown air. They have a meaning.=====(Chuang Tsu)=======
coatta@utcsri.UUCP (Terry Coatta) (10/24/86)
> > I find your final conclusion depressing because it tells > me that (a) you don't know very much about industry, (b you are > hostile to it on a basis of ignorance, and (c) you are probably > passing your misconceptions onto your students. Perhaps I am doing > you a major injustice; please feel free to correct me [flames optional]. > However that is the impression I am given. > > -- > > Richard Harter, SMDS Inc. [Disclaimers not permitted by company policy.] > For Cheryl :-) It is true that I do not know much about the industry (nor will I likely ever since I rather like the academic environment). However, I did not exagerrate what we were told. The people we had in to talk to us were very blunt -- we want programmers that DO WHAT THEY ARE TOLD -- NO room for personal freedom. Most of the programming that I do is with groups of people though, and so I do have a feeling for being part of a larger team. Even in the case where I was not the leader of the group, there was always the feeling that all members of the team were welcome to (encouraged to) consider different ways of handling the problem at hand, and that their suggestions would be listened to. As for passing on misconceptions to students I say nothing about industry at all -- I confine myself to trying to teach them how to approach problems, and how to translate their solutions into good code. You noted that there were diffrences between the academic style of programming and the "production quality" style of programming, and I agree by and large with your distinctions. I'm even willing to go so far as to agree that academics shoulld be aware of the differences, but NOT that they should be required to teach the other style. In computer science what matters is that you can think up a good solution to a problem, and that you can translate that into good code, not that you can produce a product that XXX company can make a fortune on. If part of the problem you are given is that you have to work in teams, then part of a good solution is to ensure that your code integrates nicely with the system. Similarly if part of the problem description stipulates that a good user interface is required, then that must be part of the solution. These are not global concerns to be applied to everything the student does -- it they tried we'd never have enough time to get around to things that do matter for academics, like analyzing algorithms, doing the group theory related to numerical analysis, doing the probability theory related to LANs, etc. I think the large difference between our viewpoints is that you want computer science to be like engineering -- fill them up with the formulas, rules and techniques that will produce practical results -- I want scientists and experimenters -- give them the background and the theory they'll need to explore the unknown territory of computer science. The world needs both types of people, but to force the values of one grop on the other is wasting peoples time, and I think its pretty clear which set of values I think belong at the university. Terry Coatta Dept. of Computer Science, Univ. of Toronto, Canada M5S 1A4 {allegra,cornell,decvax,ihnp4,linus,utzoo}!utcsri!coatta -- Oh dear, I think you'll find reality's on the blink again Marvin the Paranoid Android
coatta@utcsri.UUCP (Terry Coatta) (10/24/86)
> > Do you want the names of the University of Toronto professors who > told their classes publically that they should not use lint on their > C programs? Not that C is used very much at U of T, these days, but Nobody in their right mind would not use lint. It is bad programming not to. I don't think I've anywhere claimed that universities are filled with professors who are good programmers. I have an idea of what I think universities should be like, and for the most part is does not include training professionals. Universities are places where knowledge is "made". Universities train people in the art of "making knowledge". There probably is no good place to go now for training as a professional programmer. This does not mean we should give the job to the universities. New institutions are required whose purpose is the production of the professionals that our society requires. (... horror stories about U of T CSC profs) I sympathise with the problems you had. But as I said before I haven't claimed that universities are filled with good programmers -- I only hope that through teaching the things that I teach they may eventually be so. > chemistry. Because there is a lot going on there which is more > useful to know in the real world than 20 lemmas about Turing machines, > which you can always look up in your textbook if you ever need to know > them in the real world. This is what I disgree most with. The 20 lemmas about Turing machines are exactly what the universities should be concerned with teaching. Its by knowing those lemmas, and countless others, and having been exposed to a lot of other "boring" theory, that a student may one day be able to push back the frontiers of computer science. Just as English is a means of expression for most of us, so too are programs an expression of what the computer scientist knows. Thus, to be a good scientist he should know how to express himself well -- this means program well. This is a concern for both the professional and the academic. There are countless other items which are of principally of concern only to the professional, they will not help an academic in communicating his ideas to his peers, and I don't think there is any need for him to waste time learning them. > applications which are really needed and wanted in industry, but who > has time to read all the research being done by grad students all > over the world in order to find the few gems that you personally > have an application for right now? > > So it just dies. And in academia people go on to new things which > have a thesis in them... This is an odd comment. All theses are available at the CSC library, or the main library. They are catalogued according to topic, so its pretty easy to find ones that might be relevant to what you are doing. You don't read every novel thats published in order to find the ones that interest you do you? Also much research is available through journals (ACM, IEEE, etc). If you want to know what the CSC world is up to, then read them. The only reason that an idea would die is if the professionals didn't bother to read about it. > -- > ``Never string ethernet in the presence of a kitten.'' > Laura Creighton > ihnp4!hoptoad!laura utzoo!hoptoad!laura sun!hoptoad!laura > toad@lll-crg.arpa Terry Coatta Dept. of Computer Science, Univ. of Toronto, Canada M5S 1A4 {allegra,cornell,decvax,ihnp4,linus,utzoo}!utcsri!coatta -- Oh dear, I think you'll find reality's on the blink again Marvin the Paranoid Android
g-rh@cca.UUCP (Richard Harter) (10/25/86)
In article <> mc68020@gilbbs.UUCP (Thomas J Keller) writes: > > This argument has gotten utterly ridiculous. We have heard from San Diego >that there is no need for people to study the theory of computing, we have >heard from various other sectors that industry doesn't need or want Computer >Scientists, and we have heard from still other sectors that the educational >systems are defrauding students, by permitting them to study Computer Science >when what they *REALLY* wanted was Professional Programming. > > What a bunch of horse puckey. > > I think the only way we could please most of these provincials is to simply >to henceforth ban the teaching of theoretical computer science completely. >After all, according to them, industry neither needs nor wants computer >scientists, so obviously there is *NO* value in teaching it. (might as well >ban the teaching of theoretical physics, mathematics, etc., while we're at it) > Thomas, me boy, have you ever considered taking a course in remedial reading? Do. People simply aren't saying the things that you are reading into them. 'San Diego' presumably refers to Laura's article. I don't have it at hand, but I don't recall anything about "there is no need for people to study the theory of computing" either there or anywhere else. > Any student who can get all the way through a 4 year program in *ANYTHING* >and not realize that this program was *NOT* preparing them for what they >wished to be prepared has no sympathy from me! If they'd take a look at the >real world outside their classroom, do a little research, they would have a >pretty damned good idea what the curriculum they're being offered was aimed >at, and could effectively evaluate its worth in light of their goals. If they >*DON'T* do so, they're lazy, stupid slobs who haven't any business in an >institution of higher education in the first place. **YOU** are responsible >for your education, the management of that education, and the quality of the >education you receive. No one else. > My, overflowing with the milk of human kindness, aren't we. I doubt that many college graduates want your sympathy -- most of them prefer jobs. Considering the current job market in programming, they'll get them too. However, I will say that your entire proposition is silly. > The proposition is really quite simple: > > Computer Science, Software Engineering, and Programming are very different >professions. They overlap in some areas, and certainly the FUNDAMENTAL skills >required for all three are similar, if not identical. This, however, does NOT >mean that we should destroy the theoretical orientation of the Computer Science >department, in order to train Software Engineers or Programmers. These people >need their *OWN*, independent departments, optomized to provide them with the >best training available for their chosen professions. > > It is utterly ridiculous to suggest otherwise. > Strangely enough, your conclusion is quite correct in every respect. Interestingly enough, the people you have been so upset with are saying exactly that. Now, how many institututions offer degrees (or courses of curricula) in software engineering versus computer science? I can think of four offering degrees in software engineeering offhand; no doubt there are more, but there aren't many. How many offer degrees in computer science? Large numbers. How many of the graduates of these programs will go on and work as software engineers and how many will become researchers in computer science? Can it be that there is some slight imbalance in these numbers? -- Richard Harter, SMDS Inc. [Disclaimers not permitted by company policy.] For Cheryl :-)
g-rh@cca.UUCP (Richard Harter) (10/26/86)
In article <> coatta@utcsri.UUCP (Terry Coatta) writes: > >It is true that I do not know much about the industry (nor will I likely >ever since I rather like the academic environment). However, I did not >exagerrate what we were told. The people we had in to talk to us were >very blunt -- we want programmers that DO WHAT THEY ARE TOLD -- NO room >for personal freedom. Well, you were there and I wasn't, so I'll have to take your word for it. Again, if the people talking to you were from IBM Cobol shops and MIS departments, I wouldn't be terribly surprised -- some of those places are (from my viewpoint) horrid places. The daughter of a good friend of mine who was business programmer/systems analyst just said goodbye to ten years experience in the field on the grounds that it was utterly destructive to her as a way to live. My experience is in engineering R/D and scientific applications. I've worked as a principal investigator, with principal investigators, as part of a large systems group, as a numerical analyst, as an applications programmer, as a software manager, and (these days) as a company president. My experience doesn't match what you've been told. Granted that you have to work on what you have been hired to work on, but that is only reasonable. However, to be fair, I would not have (and have never had to) worked for any place that squatted on you. My observation is that if you are capable and productive then you have a lot of leeway in writing your own ticket. > >As for passing on misconceptions to students I say nothing about industry >at all -- I confine myself to trying to teach them how to approach >problems, and how to translate their solutions into good code. You noted >that there were diffrences between the academic style of programming and >the "production quality" style of programming, and I agree by and large >with your distinctions. I'm even willing to go so far as to agree >that academics shoulld be aware of the differences, but NOT that they >should be required to teach the other style. In computer science >what matters is that you can think up a good solution to a problem, >and that you can translate that into good code, not that you can >produce a product that XXX company can make a fortune on. If part of >the problem you are given is that you have to work in teams, then part >of a good solution is to ensure that your code integrates nicely >with the system. Similarly if part of the problem description stipulates >that a good user interface is required, then that must be part of the >solution. These are not global concerns to be applied to everything >the student does -- it they tried we'd never have enough time to get >around to things that do matter for academics, like analyzing algorithms, >doing the group theory related to numerical analysis, doing the >probability theory related to LANs, etc. You make some good points. As somebody said, there is only so much time in a college program. There isn't time to give someone ten years industrial experience in four years of college and it shouldn't be attempted. > >I think the large difference between our viewpoints is that you want >computer science to be like engineering -- fill them up with the >formulas, rules and techniques that will produce practical results -- >I want scientists and experimenters -- give them the background >and the theory they'll need to explore the unknown territory of >computer science. The world needs both types of people, but >to force the values of one grop on the other is wasting peoples >time, and I think its pretty clear which set of values I think >belong at the university. > Well, no, I don't want computer science to be like engineering. I simply feel that most of the people who are taking computer science should be taking software engineering, because most of them are going to go out and get jobs as software engineers and they have an inappropriate background if they are computer science graduates. Computer science should be *science* not engineering. [Not that I am convinced that computer science or software engineering is the right background for software people -- the best people seem to have things like an English major with a physics minor.] I would also take exception to the notion that you teach engineering by filling them up with formulas, rules and techniques that will produce practical results. This is a fallacy. A good engineer (of whatever variety) should have a very solid and thorough understanding of basics. There are formulas, etc., that you should be able to apply automatically. However most of that sort of thing is stuff that you can look up -- and that is one of the more important things that an engineer does is look things up. The basics tell you how to evaluate what you are looking up. The engineer does not have to invent algorithms (although they do, liberally); it will suffice if she can locate the algorithm (preferably several) and select the appropriate one. They difference between engineering and science, if you will, is that engineering uses algorithms, science investigates them. [We are talking SE and CS here.] A good SE ought to be able to do the science when necessary; however the ultimate object is utilitarian. As you note, global concerns are part of engineering. What does it cost? How does it fit in with everything else? Etc. Algorithm X is O(n log n) whereas algorithm Y is O(n^2); however algorithm X is expensive to implement and algorithm Y is cheap. What are the tradeoffs? Now I am not criticising CS departments for not teaching these things; science says "what is it?" and engineering says "how do I get the job done?". It may be the case, as I have argued, that most CS students should be taking SE, and that most CS departments should be SE departments. However I am not very sure about that; it has been my observation that the best engineers have the best theoretical background -- that 'practical' training tends to be a dead end. So maybe potential SE's should be taking CS. But then, again, as I have noted there are a lot of problems with a CS degree. A lot of students come out of the colleges with bad attitudes, unrealistic expectations, and useless knowledge. [Then again, some of this is just youth, as distinct from my generation which has bad attitudes, avaricious expectations, and obsolete knowledge.:-)] Part of the problem is that a good SE has to be a generalist; you should be able to talk physics to physicists, EE to EE's, etc. Broadness, rather than narrowness, is of the essence. Then again, these are my prejudices based on my window into the world. I like the pursuit of knowledge for its own sake. I also like creating things that people will actually use; making two blades of grass grow where one grew before, so to speak. I have had a nice piece of both worlds, and I have rather enjoyed it. But that which has worked for me and seems to be true in the world that I observe may not be true in general, so take it all with as many grains of salt as you like. -- Richard Harter, SMDS Inc. [Disclaimers not permitted by company policy.] For Cheryl :-)
anderson@uwmacc.UUCP (Jess Anderson) (10/27/86)
> > Laura Creighton > > ihnp4!hoptoad!laura utzoo!hoptoad!laura sun!hoptoad!laura > > toad@lll-crg.arpa and > Terry Coatta > Dept. of Computer Science, Univ. of Toronto, Canada M5S 1A4 > {allegra,cornell,decvax,ihnp4,linus,utzoo}!utcsri!coatta are providing two very different views of academic computing. The distinctions raised by their different viewpoints are, I believe, central to *all* education. They have always been with us, and (quite properly) they always will be, for on the one hand we have practical knowledge (bear with me), and on the other we have knowledge for its own sake. While in my view each person with any sense will do his/her best to be active in both dimensions at once, there seems to be a fairly pronouced drift of the pendulum towards the vocational side right now. People want jobs, and they want the universities to certify them as employable. To the extent one doesn't want to work *for* a university, one had better get some such certification, for there is real competition for jobs in computing, at least the better jobs. In addition, there is an emphasis on being an entrepreneur these days, and no one dreams of being anything other than a success in that. People coming to the universities so they can learn how to get a programming job are not (as many others have said already) looking for computer SCIENCE, they are looking for COMPUTER science; they want general knowledge (small science) about a specific thing (big computer). And vice versa. The example of the Turing lemmas is perfect. Laura gives them short schrift; Terry sees them as the main point. Both are right, completely and unalterably right. It is extremely inconvenient, my friends, but there you have it. You take your choice and you pay your price; nobody said life is a snap. It's OK to be frustrated, but that won't get you anywhere. Better to play both sides of the street at once, I think, and hedge your bets. -- ==ARPA:====================anderson@unix.macc.wisc.edu===Jess Anderson====== | (Please use ARPA if you can.) MACC | | UUCP: {harvard,seismo,topaz, 1210 W. Dayton | | akgua,allegra,ihnp4,usbvax}!uwvax!uwmacc!anderson Madison, WI 53706 | | BITNET: anderson@wiscmacc 608/263-6988 | ==Words are not just blown air. They have a meaning.=====(Chuang Tsu)=======
cdshaw@alberta.UUCP (10/28/86)
In article <418@uwmacc.UUCP> anderson@uwmacc.UUCP (Jess Anderson) writes: >(2 people) are providing two very different views of academic computing. >.... While in my >view each person with any sense will do his/her best to be >active in both dimensions at once, there seems to be a fairly >pronouced drift of the pendulum towards the vocational side >right now. People want jobs, and they want the universities to >certify them as employable. To the extent one doesn't want >to work *for* a university, one had better get some such >certification, for there is real competition for jobs in >computing, at least the better jobs. A recent CACM article (Sept. 1986) explains why, to some extent, the practical side of CS is being emphasized by undergrads. There is far more demand for CS grads than supply, so the money is good, and pretty well anyone is able to do the job in some cases. What's the point? As soon as the pipeline is filled with enough people to satisfy industry's demand for qualified staff, the emphasis at the schools will change to a more theoretical tone. Right now, the main problem is excess jobs for the number of people, at all degree levels. If and when this is no longer the case, CS will become more "academic". >anderson@unix.macc.wisc.edu===Jess Anderson====== Chris Shaw cdshaw@alberta University of Alberta CatchPhrase: Bogus as HELL !