coggins@coggins.cs.unc.edu (Dr. James Coggins) (03/31/89)
In article <WINDLEY.89Mar30143846@Self.cheetah.ucdavis.edu> windley@cheetah.ucdavis.edu (Phil Windley/20000000) writes: > >>In article <354@cbnewsc.ATT.COM> isaac@cbnewsc.ATT.COM (isaac.j.champagne) writes: >> >> So what are some good texts that cover the fundamentals of programming? >> I'm particularly interested in: >> 1.A text with more examples than confusing computer science >> theory (preferably w/examples in C) >> 2.How about some good background in data structures? >> 3.How about programming paradigms? It seems like the "how to" >> of programming may be more important than lots of >> theories. >> >... >That said, I think you're missing the point. You seem to think that you >can be a good programmer without a funcdamental understanding of what's >going on. This is a serious mistake. > >If you think that you can DESIGN >programs without the kind of important background knowledge that theory >provides then you're in for a rude awakening. >-- >Phil Windley | windley@iris.ucdavis.edu Good answer, Phil. I have a new question, and maybe you folks can fill in more (even more irritating) examples. Why does... ...anyone who has written a program (in BASIC, say) think he's a computer scientist? ...anyone who knows FORTRAN think he knows all he needs to know about programming? ...anyone who has written a program more than one page long think he's a software engineer? ...anyone who reads Dr. Dobbs and Byte think he's keeping up with the latest developments in computer science? ...anyone who has written a user interface on a bit-mapped display think he's an interface design expert? ...anyone who has implemented a client's user interface ideas think he's an interviewer? ...anyone who has modified a user interface based on usage experience think he's a perceptual psychologist? ...anyone who has written something in an "expert system shell" think he's an AI researcher? ...anyone who has done "knowledge engineering" think he's an interviewer, psychologist, and software engineer? ...anyone who has written three functions to manipulate a single structure think he's an object-oriented programmer? ...anyone who has run an edge detection program think he's a computer vision expert? ...anyone who can't use LISP techniques in C++ think he's a language designer? ...anyone who has an argument over some social issue think he's a political commentator? ...anyone who is doing something he heard somebody else doing think he's using generally accepted methods from the discipline? ...anyone who is using generally accepted methods from his discipline think he's doing the right thing? --------------------------------------------------------------------- Dr. James M. Coggins coggins@cs.unc.edu Computer Science Department QUESTION UNC-Chapel Hill CONVENTIONAL Chapel Hill, NC 27599-3175 "WISDOM" and NASA Center of Excellence in Space Data and Information Science ---------------------------------------------------------------------
windley@cheetah.ucdavis.edu (Phil Windley/20000000) (04/01/89)
In article <7531@thorin.cs.unc.edu> coggins@coggins.cs.unc.edu (Dr. James Coggins) writes:
I have a new question, and maybe you folks can fill in more
(even more irritating) examples.
Why does...
...anyone who has written a program (in BASIC, say)
think he's a computer scientist?
...anyone who knows FORTRAN
think he knows all he needs to know about programming?
...anyone who has written a program more than one page long
think he's a software engineer?
etc.
I once read somewhere that people who build paper airplanes would never
think that they could build a 747, but there are all sorts of folks who,
having built a 10 line program in BASIC, think that they could
single-handedly write the code for SDI.
--phil--
--
Phil Windley | windley@iris.ucdavis.edu
Division of Computer Science | ucbvax!ucdavis!iris!windley
College of Engineering | (916) 752-7324 (or 3168)
University of California, Davis | Davis, CA 95616
mark@hubcap.clemson.edu (Mark Smotherman) (04/01/89)
In article <7531@thorin.cs.unc.edu>, coggins@coggins.cs.unc.edu (Dr. James Coggins) writes: > > I have a new question, and maybe you folks can fill in more > (even more irritating) examples. > > Why does... > ...anyone who has written a program (in BASIC, say) > think he's a computer scientist? > > Dr. James M. Coggins coggins@cs.unc.edu I think the misuse and presumptuous use of computer science has many similarities to the misuse and presumptuous use of statistics. Since both fields are so useful, many users of our respective "tools" think that they know better than the "toolmakers". Witness the (watered down) stat courses that appear in many college departments and the (watered down) computer introduction courses that many college departments want to teach themselves. While I would certainly agree that application of the "tools" in the student's domain of discourse is valuable, this is not what these courses end up doing. -- Mark Smotherman, Comp. Sci. Dept., Clemson University, Clemson, SC 29634 INTERNET: mark@hubcap.clemson.edu UUCP: gatech!hubcap!mark
djones@megatest.UUCP (Dave Jones) (04/01/89)
From article <7531@thorin.cs.unc.edu>, by coggins@coggins.cs.unc.edu (Dr. James Coggins): > In article <WINDLEY.89Mar30143846@Self.cheetah.ucdavis.edu> windley@cheetah.ucdavis.edu (Phil Windley/20000000) writes: >> >>>In article <354@cbnewsc.ATT.COM> isaac@cbnewsc.ATT.COM (isaac.j.champagne) writes: >>> >>> So what are some good texts that cover the fundamentals of programming? >>> I'm particularly interested in: >>> 1.A text with more examples than confusing computer science >>> theory (preferably w/examples in C) >>> 2.How about some good background in data structures? >>> 3.How about programming paradigms? It seems like the "how to" >>> of programming may be more important than lots of >>> theories. >>> >>... >>That said, I think you're missing the point. You seem to think that you >>can be a good programmer without a funcdamental understanding of what's >>going on. This is a serious mistake. >> Maybe YOU'RE missing the point. I think he really wants to understand what's going on, and that he has a good attitude about how to go about it. He sincerely seeks advice, and he wants to see some examples. One good example is worth a whole bag of theory... *IF* you've got your thinking cap on. The fact that he is interested in data-structures suggests to me that he may very well have said chapeau in place. Most prospective students would ask about algorithms. But the data is the thing. (Are the things?) "Ask not what your program can do for you, ask what it does it to." >>If you think that you can DESIGN >>programs without the kind of important background knowledge that theory >>provides then you're in for a rude awakening. >> I suspect that he is keenly interested in getting the background knowlege that theory provides... complete with instructive examples! > >>Phil Windley | windley@iris.ucdavis.edu > > Good answer, Phil. > Hmmm... > I have a new question, and maybe you folks can fill in more > (even more irritating) examples. > > Why does... > > ...anyone who has written a program (in BASIC, say) > think he's a computer scientist? > [ A dozen or more of these follow... djones ] > ...anyone who is using generally accepted methods from his discipline > think he's doing the right thing? > [ etc.. ] Do you *really* want an "irritating example"? Okay, you asked for it. No offense, (really!) ... ... but the top twenty "thinks-he's-a-computer-scientist" bozos that I have met were all C.S. Professors. And the rest were postgrads. Most of them just haven't had enough experiece building and maintaining computers and software to know beans about it. They're all frustrated mathematicians, and would rather to play with pencils and paper than with silicon. (Before you get too angry at me, let me hasten to point out that I was one of these jerks for a couple of years... Visiting Associate Prof at a certain large midwestern university which I dare not name.) I had plenty of company, I can assure you! A visiting lecturer from Oxford, whose name you probably would know, once told me that he hadn't "programmed in anger" in over three years! He was quite proud of it. He was busy coauthoring some of the most worthless theoretical pabulum imaginable all written in a pidgin computer language. Most of of his theoretical results showed how to pipeline toy processes together to produce composite processes with completely unpredictable behavior, which he called "chaos". So far as I know, he never showed how to get one to do anything useful. Like I said, no offense... present company excluded.., (except for the ex-me), etc.., etc..
rks@notecnirp.Princeton.EDU (Ramesh Sitaraman) (04/03/89)
In article <3241@goofy.megatest.UUCP> djones@megatest.UUCP (Dave Jones) writes: > >... but the top twenty "thinks-he's-a-computer-scientist" >bozos that I have met were all C.S. Professors. And the rest were >postgrads. Most of them just haven't had enough experiece building and >maintaining computers and software to know beans about it. They're all >frustrated mathematicians, and would rather to play with pencils >and paper than with silicon. >.......... much nonsense deleted................ Computer Science is a study of computation, which is essentially mathematical in nature. If you thought that computer science is writing and maintaining software, I can only say that your teachers deceived you (HINT: Writing software is no more computer science than book keeping is economics !). May be you are not aware that it took frustrated mathematicains like Turing and von neuman to conceive modern computers. Of course I understand the urge of many mediocre hackers trying to pass off as scientist. But they deceive only themselves. Maybe next time you can try convincing physicists that they should really be studying the effect of VO5 on car paint instead of working all those "useless" theories. Regards, Ramesh ARPA: rks@princeton.edu |Why should anyone suppose that all that matters SPRINT:(609) 683 1979 |to human nature can be assessed with a measuring |rod ? The nature of all reality is spiritual. | Sir Arthur Eddington
klt@ntcsd1.UUCP (Kristopher L. Tyra) (04/03/89)
>Do you *really* want an "irritating example"? Okay, you asked for it. > > >No offense, (really!) ... > >... but the top twenty "thinks-he's-a-computer-scientist" >bozos that I have met were all C.S. Professors. And the rest were >postgrads. Most of them just haven't had enough experiece building and >maintaining computers and software to know beans about it. They're all >frustrated mathematicians, and would rather to play with pencils >and paper than with silicon. > >(Before you get too angry at me, let me hasten to point out that I >was one of these jerks for a couple of years... Visiting Associate >Prof at a certain large midwestern university which I dare not name.) > >I had plenty of company, I can assure you! A visiting lecturer from >Oxford, whose name you probably would know, once told me that he hadn't >"programmed in anger" in over three years! He was quite proud of it. >He was busy coauthoring some of the most worthless theoretical pabulum >imaginable all written in a pidgin computer language. Most of >of his theoretical results showed how to pipeline toy processes together >to produce composite processes with completely unpredictable behavior, >which he called "chaos". So far as I know, he never showed how to >get one to do anything useful. > >Like I said, no offense... present company excluded.., (except for the >ex-me), etc.., etc.. I'm sorry but I just can't let this slip. As a graduate of North Carolina State University in Computer Science, I can say that I didn't do well in school and that experience is worth everything. But the one thing I studied (and hard) were the theoretical courses. Because if you know theory you know it! I claim to know most all computer languages and operating systems because I understand the theories in which they were developed. Therefore to learn a new system I only need to worry about the semantics of the system and sometimes the quirks. I think examples are wonderful but it is "monkey see monkey do" if you don't understand the theories. In retrospect, I have seen and managed lots of programmers that do exactly what the book example tells them to do and when it doesn't work (for some reason or another) it means the machine is broken; all because they didn't understand what they were doing. My point is I would take 1 developer with theoretical understanding then 10 programmers without. No offense to those that don't agree. These opinions are my own and in no way reflect the attitude or opinion of my employer. Kristopher L. Tyra Northern Telecom, Inc. 800 Perimeter Park (919) 481-5595 {the world}..!mcnc!rti!ntcsd1!klt
mhyman@hsfmsh.UUCP (Marco S. Hyman) (04/04/89)
In article <7531@thorin.cs.unc.edu> coggins@coggins.UUCP (Dr. James Coggins) writes: > ...anyone who reads Dr. Dobbs and Byte > think he's keeping up with the latest developments in computer science? (You left out Computer Language and AI Expert! :-) I'm amazed at the number of people working in this field who have never heard of the ACM or the IEEE Computer Society. Lack of knowledge combined with a high RC (Resistance to Change) factor make the use of new languages and techniques, perhaps supporting new programming paradigms, very hard to import into organizations. Sigh. --marc -- //Marco S. Hyman //UUCP: ...!sun!sfsun!hsfmsh!mhyman //Domain: sfsun!hsfmsh!mhyman@sun.com
lowell@tc.fluke.COM (Lowell Skoog) (04/04/89)
> I have a new question, and maybe you folks can fill in more > (even more irritating) examples. I sure can. Why does... ...anyone who thinks he is an expert on a subject think that non-experts are targets for ridicule? --------------------------------------------------------------------------- Lowell Skoog John Fluke Mfg. Co. Inc., P.O. Box C9090, Everett, WA 98206 lowell@tc.fluke.COM | {uw-beaver,microsoft,sun}!fluke!lowell | 206/356-5283
gds@spam.istc.sri.com (Greg Skinner) (04/04/89)
(Followups to comp.edu, please) >>... but the top twenty "thinks-he's-a-computer-scientist" >>bozos that I have met were all C.S. Professors. And the rest were >>postgrads. Most of them just haven't had enough experiece building and >>maintaining computers and software to know beans about it. They're all >>frustrated mathematicians, and would rather to play with pencils >>and paper than with silicon. >> >>I had plenty of company, I can assure you! A visiting lecturer from >>Oxford, whose name you probably would know, once told me that he hadn't >>"programmed in anger" in over three years! He was quite proud of it. >>He was busy coauthoring some of the most worthless theoretical pabulum >>imaginable all written in a pidgin computer language. >> (rest of harangue deleted) This reminds me of a "discussion" (euphemism for argument, actually) that I had with a friend of mine who does operations research. Most of her family are doing some sort of OR or applied math. I asked her how her family got so interested in applied math and OR, as opposed to pure math, and she told me that pure math was "hokey". She then went on to tell me that much of pure math (and for that matter, pure science) was useless, because many of the theorems and theories believed to be true were later disproved, and the results were too complicated to make any good use of, anyway. (I believe she is referring to parts of real analysis and queueing theory, some subjects she struggled through.) She then went on to say that except for a select group of people (those people who "do good proofs"), everyone else should stop trying to prove things and "just use the results from the good proofs to apply them to solve the problems of the world." Two problems I saw in this argument. (1) it implies that a "bad" proof is useless and should not exist, and (2) only certain people should be allowed to do proofs, because they will always come up with "good" ones. > I'm sorry but I just can't let this slip. As a graduate of North Carolina > State University in Computer Science, I can say that I didn't do well > in school and that experience is worth everything. But the one thing I > studied (and hard) were the theoretical courses. Because if you know theory > you know it! I won't claim that a knowledge of CS theory (or any other theory, for that matter) conveys upon the student a total understanding of the subject, but I believe a good understanding of theory is as important as a good understanding of the applications. Also, for me at least, CS theory is interesting to think about. Before I took my first theory class, I never thought that there were classes of solvable problems, or for that matter limits to computation. And I also struggled (and for that matter, am struggling ;-)) through parts of CS theory. (Hi, email pals.) I still find it fascinating, despite its difficulty. I think it is unfortunate that people become bitter and unhappy because they cannot get good grades in subjects, because that takes away from them any possible enjoyment of the subject for its own merits. I wish a lot of the competitive aspect of college would go away, so we could all sit back and enjoy what we are learning without worrying about grades. --gregbo
duncan@dduck.ctt.bellcore.com (Scott Duncan) (04/04/89)
In article <572@hsfmsh.UUCP> mhyman@hsfmsh.UUCP (Marco S. Hyman) writes: >In article <7531@thorin.cs.unc.edu> coggins@coggins.UUCP (Dr. James Coggins) writes: >> ...anyone who reads Dr. Dobbs and Byte >> think he's keeping up with the latest developments in computer science? > >(You left out Computer Language and AI Expert! :-) I'm amazed at the number >of people working in this field who have never heard of the ACM or the IEEE >Computer Society. I'm a pretty active ACM and IEEE CS member, especially at the local level. I appreciate both organizations, their publications, and my involvement with them. But I also realize that large portions of people working in many fields are not aware of the publishing/research in their field. The chagrin many people express at this is because people in computing are often compared to those engaged in scientific and engineering disciplines. Most of my experience has been with people who are neither scientists nor engineers despite their competence in computing technology. Most use of computing is not scientific or engineering related. Indeed, it may be more relevant to ask how many of the people doing business data proces- sing are up on the latest Wall Street Journal or Harvard Business Review. A large portion of those in industry are not regarded as (nor do they regard themselves as) engineers or scientists. (Most users of office equipment are not readers of ACM's Transactions on Office Information Systems.) And while it can be argued that programmers, analysts, etc. "should" be aware of ACM and IEEE (and other) publications, there is very little encouragement from the industry itself for this. For example, how many organizations that pay dues for people to belong to ACM or IEEE actually expect that people will be active in a local chapter/section? How many ask people to report back to the organization on what happened at the latest meeting? How many expect their staff members to read such publications (as opposed to business trade journals OR computer trade journals)? On the other hand, what pulications attempt to get industry upper management on their mailing lists? Certainly, the ACM and IEEE don't send out little surveys to see, based on marketing qualifications, who should get subscriptions! I am suggesting that the field of data processing (and computer science) is heavily influenced by market pressures and commercial "realities." Expecting people to be interested in the more academic sources of information runs counter to what most organizations who develop software find of value to them. In most cases it is knowledge of what is available in the marketplace rather than from research which concerns most people who develop software. I may wish that it were a bit different, but I am not surprised at what people do read given the encouragement they receive for the kinds of information they bring to bear in the workplace. Thus, I find it hard to lay any blame on people for what they find valuable to read. The encouragement (or lack of it) from their companies and the market- place seems a key element in this process. If the industry itself does not seem to take professional involvement seriously, it is hard to expect those who work in industry to do so. Speaking only for myself, of course, I am... Scott P. Duncan (duncan@ctt.bellcore.com OR ...!bellcore!ctt!duncan) (Bellcore, 444 Hoes Lane RRC 1H-210, Piscataway, NJ 08854) (201-699-3910 (w) 201-463-3683 (h))
wayneck@tekig5.PEN.TEK.COM (Wayne Knapp) (04/05/89)
In article <405@ntcsd1.UUCP>, klt@ntcsd1.UUCP (Kristopher L. Tyra) writes: > > ... But the one thing I > studied (and hard) were the theoretical courses. Because if you know theory > you know it! I claim to know most all computer languages and operating > systems because I understand the theories in which they were developed. > Therefore to learn a new system I only need to worry about the semantics of > the system and sometimes the quirks. > > I think examples are wonderful but it is "monkey see monkey do" > if you don't understand the theories. In retrospect, I have seen and > managed lots of programmers that do exactly what the book example tells them > to do and when it doesn't work (for some reason or another) it means the > machine is broken; all because they didn't understand what they were doing. > > My point is I would take 1 developer with theoretical understanding then > 10 programmers without. > Someone with great so called theoretical background and little programming experience is worthless in my eyes. I've dealt with too many people that are into having a great theoretical background but have no idea on how to apply the knowledge they claim to have. If I were picking people for a project, I'd want the people with a history of getting programs finished over someone who thinks he knows how to program. The person that has a good history of getting the job done show he understands the theory by his application of it. Some other guy without a finished program behind him is just talking. In real life the application of theory and the understanding of theory go hand- in-hand. The people who can really get the work done are the ones who balence the application with the theory. Theory without application is useless and application without theory is only busy work. Wayne Knapp
matloff@tinman.Berkeley.EDU (Norman Matloff) (04/05/89)
In article <4972@hubcap.clemson.edu> mark@hubcap.clemson.edu (Mark Smotherman) writes: >I think the misuse and presumptuous use of computer science has many >similarities to the misuse and presumptuous use of statistics. Since >both fields are so useful, many users of our respective "tools" think >that they know better than the "toolmakers". Witness the (watered down) >stat courses that appear in many college departments and the (watered >down) computer introduction courses that many college departments want >to teach themselves. As someone who belongs to both professions, I'd like to agree with your statement, but for somewhat different reasons, and in somewhat different contexts. First of all, without sounding snide, I'd like to say that I think that a large number of people in both professions are of very low competence. I feel this is a consequence of the fact that both fields are "practical," job-oriented majors in college, which attracts some people who don't have much intellectual curiosity in these subjects. Of course that leads to the watering down you mentioned. However, there is a BIG difference, in terms of feedback. In the computer profession, one's mistakes are usually obvious: The program doesn't work (or in some cases it works, but far too slowly). But in the statistics profession, this kind of feedback usually doesn't exist, and people can keep on making questionable or downright wrong analyses. Another interesting thing about these two professions is that they both come historically from the math world, and thus in academic departments, mathematically-oriented research is given much higher respect than other kinds of research. This leads, again in both fields, to a schism of the math-oriented faculty and the "practice-oriented" faculty. The former group looks down on the latter as being very shallow, while the latter group looks down on the former as being ignorant about the relations of the subject to the real world. And, in my opinion, both groups tend to be correct in these views! Sorry for the flames. I don't intend them that way. They were serious comments, which I'd like to hear comments on. Norm
joel@dtscp1.UUCP (Joel Rives) (04/05/89)
Though this is definately an interesting topic for discussion, it is not germaine to the topic of this (comp.lang.c++) newsgroup. Please, check your cross-postings before posting an article. Thanks, Joel
reggie@dinsdale.nm.paradyne.com (George W. Leach) (04/05/89)
In article <15130@bellcore.bellcore.com> duncan@ctt.bellcore.com (Scott Duncan) writes: >But I also realize that large portions of people working in many fields >are not aware of the publishing/research in their field. The chagrin many >people express at this is because people in computing are often compared to >those engaged in scientific and engineering disciplines. Most of my experience >has been with people who are neither scientists nor engineers despite their >competence in computing technology. This can even apply to people who have advanced degrees in CS!!!! >In most cases it is knowledge of what is available in the marketplace rather >than from research which concerns most people who develop software. I may wish >that it were a bit different, but I am not surprised at what people do read >given the encouragement they receive for the kinds of information they bring to >bear in the workplace. One of the problems I see is the perception that research is not considered productive by many who are involved with product development. I often wonder where this attitude comes from. Perhaps it is a justification mechanism that people use to make themselves feel good about the work they do? I mean we all would love to have the freedom to explore whatever area we would like (BTL Murray Hill, Xerox PARC, etc....) Sure there are cases of pure research that don't appear to be too useful, but then again there are plenty of counter examples as well, eg. UNIX itself! I think people fail to see the utility of research. It is to test a hypothesis. If the research fails to produce a working system then perhaps it indicates a path that should not be taken or points to other areas that should be explored. We can learn from those experiences. Too many people are only interested in what they need to know in order to get their job done now. But by not being aware of what is happening outside of your own little world you liimit the possibilities of what you can do in the future. Technology is constantly changing. If you don't keep up, next year's college senior is going to know more than you do! >Thus, I find it hard to lay any blame on people for what they find valuable to >read. The encouragement (or lack of it) from their companies and the market- >place seems a key element in this process. If the industry itself does not >seem to take professional involvement seriously, it is hard to expect those >who work in industry to do so. I think that industry in general is reactive to technological change rather than actively participating, even if the participation is only at the level of observation. The time to learn about relational databases was not when the products were available in abundance. Even now there are many people who are just now learning what relational databases are all about! Remember the articles and cartoons in trade rags a few years ago that went something like this: Some manager saying he didn't know what a relationa database was, but he wanted one! Hypertext and Object Oriented Programming are almost in the same class of technology today! That is why there are so many people out there making money on weak courses and seminars for the unaware! George W. Leach AT&T Paradyne .!uunet!pdn!reggie Mail stop LG-129 reggie@pdn.paradyne.com P.O. Box 2826 Phone: (813) 530-2376 Largo, FL USA 34649-2826
Tim_CDC_Roberts@cup.portal.com (04/06/89)
In <15130@bellcore.bellcore.com>, Scott Duncan writes: > For example, how many organizations that pay dues for people to belong > to ACM or IEEE actually expect that people will be active in a local > chapter/section? Further, how many organizations even pay those dues? I paid $75/year ACM dues for 4 years after getting out of college. I finally cancelled because I couldn't justify the cost. I paid $95 to take the ICCP exam and was awarded the Certificate in Computer Programming. My personal opinion is that it is not unreasonable for me to expect to be reimbursed for these expenses. However, my company does not do that. Tim_CDC_Roberts@cup.portal.com | Control Data... ...!sun!portal!cup.portal.com!tim_cdc_roberts | ...or it will control you.
dmocsny@uceng.UC.EDU (daniel mocsny) (04/10/89)
From Henry Ford Sr., "My Life and Work," p. 86 (1922): "None of our men are "experts." We have most unfortunately found it necessary to get rid of a man as soon as he thinks himself an expert--- because no one ever considers himself expert if he really knows his job. A man who knows a job sees so much more to be done than he has done, that he is always pressing forward and never gives up an instant of thought to how good and how efficient he is. Thinking always ahead, thinking always of trying to do more, brings a state of mind in which nothing is impossible. The moment one gets into the "expert" state of mind a great number of things become impossible." Cheers, Dan Mocsny dmocsny@uceng.uc.edu