[comp.edu] "Expertise"

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..

sewilco@datapg.MN.ORG (Scot E Wilcoxon) (04/02/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?
>   etc.

Because humans are good at making generalizations from very few data points.
We're good at making generalizations, but not necessarily correct ones.
This skill is often harmless ("I was singing when I planted this good crop,
so we should sing every spring"), and is successful often enough to be
useful ("That wolf stayed away from this burning tree, so we should keep
some of this fire stuff near the village").

I've read some books on cognitive psychology and watch public TV, so
I'm a qualified psychobabblist. :-)
-- 
Scot E. Wilcoxon  sewilco@DataPg.MN.ORG    {amdahl|hpda}!bungia!datapg!sewilco
Data Progress 	 UNIX masts & rigging  +1 612-825-2607    uunet!datapg!sewilco
	I'm just reversing entropy while waiting for the Big Crunch.

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

chris@mimsy.UUCP (Chris Torek) (04/03/89)

In article <16081@princeton.Princeton.EDU> rks@notecnirp.Princeton.EDU
(Ramesh Sitaraman) writes:
>Computer Science is a study of computation, which is essentially
>mathematical in nature. ... Of course I understand the urge of many
>mediocre hackers trying to pass [themselves] off as scientist[s].
>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.

Wrong attack :-) ---convince chemists; only you will not have to.  The
effect of VO5, salad dressing, milk, vinegar, acid rain, ... on car
paint is the domain of study of industrial chemists (those employed by
car companies, that is).  It is not unimportant: would you want your
car's paint to wash off after a pigeon did its thing?  (Pigeon dung
does attack car finishes, and the waxes and paints must be made resistant.)

Maybe the word `scientist' has as much meaning now as the title
`sanitation engineer' slapped onto the janitor's job.

At any rate, I say that `Computer Science' is not a science.  Computing
has, like many (most? all?) other disciplines, split into theoretical
and applied branches.  The split is not as well-defined as in (to
continue with the above) chemistry, but it is there.  Theoretical
computing is indeed a branch of mathematics; and I suppose that makes
the theorists mathematicians.  Programming, on the other hand, is
halfway between an art and an engineering discipline.  What does that
make the programmers?  And of course, as with other subjects, the
fringes of computing involve many other disciplines.  How else did we
get into these diatribes on `expertise'?
-- 
In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 7163)
Domain:	chris@mimsy.umd.edu	Path:	uunet!mimsy!chris

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

djones@megatest.UUCP (Dave Jones) (04/04/89)

From article <16081@princeton.Princeton.EDU>, by rks@notecnirp.Princeton.EDU (Ramesh Sitaraman):

>>.......... much nonsense deleted................
> 

.......... much nonsense deleted................

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))

henry@utzoo.uucp (Henry Spencer) (04/04/89)

In article <18764@joyce.istc.sri.com> gds@spam.istc.sri.com (Greg Skinner) writes:
>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...

As Knuth (?) said, "the purpose of theory is insight, not theorems".
Insight is valuable.  Unfortunately, an awful lot of theory courses tend
to concentrate on teaching theorems.
-- 
Welcome to Mars!  Your         |     Henry Spencer at U of Toronto Zoology
passport and visa, comrade?    | uunet!attcan!utzoo!henry henry@zoo.toronto.edu

pick@sdsu.UUCP (Dan Pick) (04/05/89)

In article <18764@joyce.istc.sri.com> gds@spam.istc.sri.com (Greg Skinner) writes:
>
>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.
>
I thought people had long ago overcome this fallacy.  First of all,
almost all universities in the U.S. offer some means by which
students can enroll in courses on a non-competitive basis, i.e.
Pass/Fail, Satisfactory/No Credit, etc.  In addition, most schools
offer an auditing option, and many schools have extension programs
where one can study a particular subject without worrying about
grades.

Secondly, most mature students find that grades help them, not 
hurt them, because they serve as a tool for them to focus on 
problem areas on which they need to devote more time and
attention.  Grades are also useful to students as a means
of measuring how they are progressing towards their own 
individual educational goals.

In short, if people become bitter and unhappy about not
getting good grades, then perhaps they need to reevaluate
their goals and motivations for pursuing a specific 
course of study, not build excuses ("the competitive aspect
of college") that contribute to a victim mentality.
 

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

djones@megatest.UUCP (Dave Jones) (04/05/89)

I guess I better clarify my position a bit, before the flames get
any higher.

I don't disdain theory.  Quite the opposite. I delight in theory.
My first love was pure mathematics. I studied on the "third floor"
at the University of Texas, when it was the purest of pure. Took
the last course that R.L. Moore taught.  Got admitted to the math
graduate school at the University of Texas when I was a sophomore. How
come? I was running out of graduate courses to take, so they admitted me
before I used them all up. (And I had all A's.) Okay, maybe there
was a little bragging going on there, but I think I made my point:
I've got nothing against math, and nothing against theory.

As I mentioned, I taught two years as Visiting Associate Professor
in the C.S. department of a well known midwestern university.  I taught
undergraduate and graduate courses in the Theory of Parsing and
Translation, and in the Design and Analysis of Algorithms.  Love
that stuff.

But over the years, I have come to believe that the concrete must
both precede and follow theory. This is as true in music and athletics
as it is in math and computation theory.  Charlie Parker, the great
jazz saxophone master is said to have advised, "First learn your
horn. Then learn all the theory. Then forget all that and just play."

Some people start with theory (they don't learn the horn), and they
end with theory (they never just play).  I get irritated with people
who, it appears to me at least, can't "play computer" (because they
have never practiced) but who posture around clucking about theory and
generally acting superior.  I understand full well that it is my problem
that I allow such things to bother me, if only a little bit.  But recall
that the posting which started this gave and asked for examples of
"irritating people".  I was a little irritated by the request. So I took
it at face value, and impetuously dashed off the answer.  I probably
should not have.

One more word of appology: I realized later that I may have left
the impression that there may have been of these "irritating people"
at the university which once employed me. I hope I did not give that
impression, because I really liked the people I worked with there.
Still do. I did't name the institution, only because I saw no reason to do
so in a posting which was probably going to draw some heat.  So
who were these "irritating people"?  I was thinking mostly of visiting
lecturers, people I've met at computer conferences and at parties, and
(yes) self-professed World's Foremost Authorities who post articles
on the net.


There now.  I don't know whether I made matters better or worse.


Oh. One more thing.  As usual, most of the favorable responses have
come through email. (And all the email responses were favorable.)
Stuff like, "Thanks for saying what I wanted to say."  And as usual, all
the unfavorable responses were posted back to the net.  Funny how that
works.

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

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

ech@pegasus.ATT.COM (Edward C Horvath) (04/05/89)

From article <3976@tekig5.PEN.TEK.COM>, by wayneck@tekig5.PEN.TEK.COM (Wayne Knapp):
> 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...

There's another dimension as well: a sense of history helps you avoid 
repeating errors; a flexible attitude allows you to stay with the
technology as it changes.  If you can't read the literature, you'll have
neither.  And you won't know when the technology is driving the theory --
i.e. it's time to roll up your sleeves and start hacking.

But not all of this has to reside in the same skull, and there's plenty of
evidence that it won't all fit.  So I'll place another trait in the basket:
have enough respect for the other guy to listen.  And enough sense to take
whatever she's offering -- theoretical advice or empirical experience --
and use it to solve your own problems.  The most seductive phrase I know is
"tell me about your work..."

=Ned Horvath=

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.

EGNILGES@pucc.Princeton.EDU (Ed Nilges) (04/06/89)

In article <22630@agate.BERKELEY.EDU>, matloff@tinman.Berkeley.EDU (Norman Matloff) writes:

>
>Sorry for the flames.  I don't intend them that way.  They were serious
>comments, which I'd like to hear comments on.
>
>   Norm

On the subject of the usefulness of theory to nonacademic practioners,
I was convinced long ago that a good dose of automata and formal
language theory is important to programmers.  Not the latest results,
which too many departments want to focus on, but the fundamental
results of Turing.  I remember with fondness the light that came on
in my student's eyes when I was able to convey to them that following
an algorithm can be expressed as yet another algorithm, which is
behind the Universal Turing Machine notion and from which so much of
software stems.  These were not theoretical types, but future applica-
tions programmers.

I'd like to teach computer science genetically, starting by having
people write Turing machines, then machine language, then assembler,
then high-level language.  The only textbook I've seen which approxim-
ates this approach is COMPUTERS AND PROGRAMMING: A NeoClassical
Approach, which may no longer be in print.  It's by Peter Olivieri
and Alan Rubin, I think.  It was the last book to use a mythical
machine.  The career focus of so many students, coupled with the
idiotic hiring practices of companies, make students loth to learn
mythical machines or even Turing machines, because "nobody uses
that in the real world".

Edward Nilges

O FREUNDE, NICHT DIESE TONEN!  SONDERN, LASST UNS ANGHENEMEHRE
ANSTIMMEN, UND FREUDENVOLLERE! - Beethoven

jss@hector.UUCP (Jerry Schwarz) (04/07/89)

Computer Science != Programming Knowledge != Domain knowledge

When you're designing a software system you need all three.   Usually
you can't find a single individual with all three so you need a team.

Frequently this is not recognized and somebody with one or two of
these skill above thinks that the other kinds of knowledge are
"trivial" and can be "picked up" as one goes along.

Jerry Schwarz
AT&T Bell Labs, Murray Hill

(P.S. I've dropped comp.lang.c++ from the groups this goes to since
it doesn't seem to belong there.  On the other hand thats the only
one of the groups I read regularly.)

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