[comp.edu] Resources and education

elg@killer.UUCP (04/20/87)

Barry Shein mentions that "Copying a bubblesort out of ACM algorithms
is not innovation". Someone else mentions a case where a student was
influenced by a partial program in another algorithms book. 

First, we have to figure out what we're here to do. If the person knows enough
to get ACM algorithms to get a bubblesort, then when the person is on the job
and needs a bubblesort, he can just pick up ACM algorithms. Most "Computer
Science" majors are involved in writing programs, except for a few cloistered
PhDs who do "pure research" (and usually are never heard from, except for
unreadable journal articles in obscure journals). So the purpose is twofold:
learn what a computer program IS (the "science"), and WRITE the silly things.
Such as, perhaps, a physicist discovering how to describe a physical principle,
and a mechanaical engineer creating an object taking advantage of that
principle.

In other words, the whole purpose of the thing is to get the program written.
While copying your friend's program isn't writing and thus is cheating,
looking up resources IS part of the writing process.

As well as being a student, I am a part-time programmer for a small firm that
produces telecommunications specialty software (e.g. a remotely-altered store
display, transmitting color radar graphics & displaying them, etc.). When I
need something, such as, perhaps, an Xmodem routine for transmitting the data,
I'm sure the heck not going to invent Yet Another Xmodem.... I'm going to use
one of the existing ones. For another example, when I needed to do some
hashing, I consulted Knuth.  The job needed doing. The job needed doing RIGHT.
Without spending 6 months working through the math (assuming that I had the
Statistics background to do it at all). The way to do it right, in the case of
a well-known problem with a well-known solution, is to look it up -- there is
generally no reason to re-invent the wheel. If the solution takes up a lot of
time or space, THEN you look for a better solution, and do that "innovating".
But when you have a job to do, you save the time-consuming innovation part of
the job for the parts of the job that really need it, that are not formalized,
and leave the stock-standard stuff alone. Heck, if you have the proper
theoretical background, you can perhaps even write a paper about your solution
and its theoretical generalization & formalization.... I suspect that this is
the way that a LOT of innovation gets done in the Computer Science area.

I'm curious: What do you academicians do when you recieve a program from a
student that cites Saint Knuth on several important algorithms? Medal of
Honor? or firing squad?
--
Eric Green   elg%usl.CSNET     Hacker-in-training, University of SW Louisiana
{cbosgd,ihnp4}!killer!elg            
Snail Mail P.O. Box 92191      Bayou  ~~~~~~~~~~~~~~~  
Lafayette, LA 70509                   ~~~~~~~~~~~~~~~  Telecommunications

tlh@arthur.cs.purdue.edu.UUCP (04/22/87)

In article <780@killer.UUCP>, elg@killer.UUCP (Eric Green) writes:
> Barry Shein mentions that "Copying a bubblesort out of ACM algorithms
> is not innovation". Someone else mentions a case where a student was
> influenced by a partial program in another algorithms book. 
> 
  [portion deleted] 
> 
> In other words, the whole purpose of the thing is to get the program written.
> While copying your friend's program isn't writing and thus is cheating,
> looking up resources IS part of the writing process.
> 
  [portion deleted] 
> 
> I'm curious: What do you academicians do when you recieve a program from a
> student that cites Saint Knuth on several important algorithms? Medal of
> Honor? or firing squad?
> --
> Eric Green   elg%usl.CSNET     Hacker-in-training, University of SW Louisiana
> {cbosgd,ihnp4}!killer!elg            
> Snail Mail P.O. Box 92191      Bayou  ~~~~~~~~~~~~~~~  
> Lafayette, LA 70509                   ~~~~~~~~~~~~~~~  Telecommunications

  When designing an assignment for a class that I am teaching,  I design it
  with the intent that the student will invest some creative energy into
  formulating a clear understanding of the problem and then developing their
  own solution.  I do this because it is my philosophy that CSE
  is primarily developing problem solving skills and not teaching how to
  program.  Admittedly, the first courses in a CS curriculum end up being
  courses that teach specific languages and programming techniques.
  
  But when a student has finished my course I like to think that I have given
  that student more than a proficiency in Pascal, I like to think that
  student has gained some confidence in his/her ability to look at problem
  (not just a programming assignment!) and develop a solution.  If faced with
  a student who turns in a working program with an attached note 
  indicating that it has been copied, not from a fellow student, but from 
  a source, I would compliment the student's integrity, STRONGLY discourage 
  the behavior in oral communication and depending on how heavily the 
  student relied on the outside source, correspondingly reduce the student's 
  score on the assignment. In short, looking  up solutions (in my book) 
  is not cheating but it is circumventing the purpose of assignments.

-------------------------------------------------------------------------------
Thomas L. Hausmann           |   
Research Assistant  (now)    |   tlh@mordred.cs.purdue.edu    ( ARPA )
Dept of Computer Science     |
Purdue University            |   ...!purdue!tlh   ( UUCP  )
-------------------------------------------------------------------------------

chris@mimsy.UUCP (04/22/87)

In article <780@killer.UUCP> elg@killer.UUCP (Eric Green) writes:
>Barry Shein mentions that "Copying a bubblesort out of ACM algorithms
>is not innovation". Someone else mentions a case where a student was
>influenced by a partial program in another algorithms book. 
>
>First, we have to figure out what we're here to do.

In the case mentioned by Barry Shein, the students were no doubt
supposed to do one or more of these:

	learn a language;
	learn about sorting;
	learn how bubble sorts are implemented.

Copying the algorithm from a book is not a particularly good way to
do these.  (Not that it can never work.  One can learn quite a bit
simply by reading.)

>In other words, the whole purpose of the thing is to get the program
>written.

Not in this case.

>... For another example, when [working for a company] I needed to do
>some hashing, I consulted Knuth.  The job needed doing. The job needed
>doing RIGHT.  Without spending 6 months working through the math
>(assuming that I had the Statistics background to do it at all).
>The way to do it right, in the case of a well-known problem with a
>well-known solution, is to look it up -- there is generally no reason
>to re-invent the wheel.

But first you must know that the wheel has been invented.  How did
you know you needed hashing?  How did you know to use Knuth?  Of
all those hashing algorithms Knuth presents, how can you tell which
one to use?

Of course, this can be carried to an arbitrary depth (`How did you
know you needed to write that particular program in the first
place?', etc., ad absurdum nauseamque).  The point, though, is that
you have to know where to start when solving a problem.  The more
you know, the less chance there is that you will waste time solving
the wrong problems---inventing square wheels, or copying round pegs
only to put them into triangular holes.

Aside:

One of the things I dislike about the traditional school environment
is that it assumes a linear approach to learning---that you should
start with something small and very basic, then build on that, and
keep building until you reach the state of the art and begin
innovating.  This approach is fine:  it works, and it does not have
to be boring.  But it is not the only approach.  One can also dive
off the deep end, and sink or swim.  I have done this with some of
my own hobby-interests (e.g., digital electronics, when I was in
junior high and high school).  Sometimes one sinks; and if not,
one's swimming ability is hard to judge, if only because the gradual
approach is more common and familiar.  To climb out of the metaphorical
pool, it is conceivable that someone might pick up Knuth's books
and learn quite a bit about computing, without ever having touched
a digital computer.  This person might well have a terrible time
afterward in a regular curriculum.  All the beginning classes would
be terribly boring.  This is why I believe that the ideal school
is a log with a teacher on one end and a student on the other.

(Incidentally, if we are going to argue about plagiarism, can
we at least spell it correctly?  Everyone seems to have copied
the wrong spelling from the previous poster. :-) )
-- 
In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 7690)
UUCP:	seismo!mimsy!chris	ARPA/CSNet:	chris@mimsy.umd.edu

bzs@bu-cs.UUCP (04/22/87)

From: elg@killer.UUCP (Eric Green)
>First, we have to figure out what we're here to do. If the person knows enough
>to get ACM algorithms to get a bubblesort, then when the person is on the job
>and needs a bubblesort, he can just pick up ACM algorithms.
...
>In other words, the whole purpose of the thing is to get the program written.

No, no, no, no, no, a thousand times, no.

If the whole purpose of the thing is to get the program written I
would write it myself. I certainly do not need 40 copies of a bubble
sort algorithm written by freshmen, trust me. Or perhaps *I* would
copy it out of a book.

The whole purpose of the thing is to LEARN SOMETHING! That's why you
are in college.

Why is this concept too subtle for some people to grasp?

In math you work math problems which you can probably find solutions
to right in the back of the book. Does this mean you should just copy
the answers out of the back of the book because that's what a "real"
mathematician would do? That's absurd.

The point is to get practice in thinking through problems yourself,
within a very artificial setting that has been tuned to your level of
training.

If we gave intro students (after all, who could an assgt to write a
bubble-sort be for?) original problems who's answers were not
published they would (almost) all drop dead on the spot.

So what do we have to do? Manufacture artificial problems that we are
quite sure are of the right challenge level just to make it impossible
to copy them out of a book? How useful are these problems going to be?
How much are they going to reflect the whims of the instructor's
interests? (gee, you shoulda been in my Real Analysis course...)

Yes, it is useful, nay, critical, to know how to use reference materials
to solve problems by the time you get out of an undergraduate CS program.
No argument.

But it is also useful to learn how to solve problems yourself because:

	WHEN IT COMES TO REAL LIFE YOU CAN'T ALWAYS LOOK IN
			THE BACK OF THE BOOK!

All you are asked to do is to determine when it is appropriate to use
outside materials and when it is appropriate to work a problem entirely
on your own (typically using a text.)

If you have any question as to which is which, ask your instructor. I
am sure s/he will know.

Think about it, why does a person jog when they can obviously get where
they are going faster in a car?

	-Barry Shein, Boston University

elg@killer.UUCP (04/26/87)

in article <1262@arthur.cs.purdue.edu>, tlh@mordred.cs.purdue.edu (Thomas L. Hausmann) says:
> In article <780@killer.UUCP>, elg@killer.UUCP (Eric Green) writes:
>> I'm curious: What do you academicians do when you recieve a program from a
>> student that cites Saint Knuth on several important algorithms? Medal of
>> Honor? or firing squad?

>   But when a student has finished my course I like to think that I have given
>   that student more than a proficiency in Pascal, I like to think that
>   student has gained some confidence in his/her ability to look at problem
>   (not just a programming assignment!) and develop a solution.  
>   In short, looking  up solutions (in my book) 
>   is not cheating but it is circumventing the purpose of assignments.


I think it's impossible to "copy programs out of books" (as Barry Shein puts
it). They have to understand the problem, and have at least a LITTLE idea of
what the solution is, in order to integrate the information in the book into
their program. After all, do you REALLY want your 2nd semester CS students to
re-invent sorting, without you telling them about bubble sorts or quicksort?
Isn't TELLING them about bubble sorts and quicksort, the same as them looking
it up in a book in the library? I don't know about you, but my instructor
spent 2 lectures disecting the quicksort algorithm, line by line, and then
gave us a programming assignment telling us to devise several ways of choosing
a median value, and see how much time kicking in an insertion sort on small
partition sizes would save, and print out performance data to see which was
more efficient... seems to be the same kind of stuff that anything you can
look up in the library would do, is there some magic formula that makes it
OK for the instructor to do it, but NOT ok for you to look up a book
that does it? Or is it just that instructors are too lazy to think up of
assignments where you can't possibly copy from a source without thoroughly
understanding the concepts involved?

By the way, anybody capable of translating Knuth's MIX algorithms into Pascal,
is a better programmer than me :-). And certainly is going to understand the
solution VERY well, not just be parroting a solution. About the only thing
you're going to get out of Knuth, in most cases, is CONCEPTS. Exactly what the
instructor is supposed to be teaching you. Not to mention that, in most cases,
Knuth does a complete analysis of time complexity etc... enough to make a 2nd
semester CS student say "GOSH! There's more to CS than just programming!". 

There is also the problem of people who have done the particular type of
algorithm before. For example, several programs that I've written have used a
hash table to do fast lookups of either integers or identifiers.  An
instructor assigned me a program where I had to implement several types of
hashing & re-hashing, in order to gather some empirical data about which one
was the most effective in hashing a certain identifier set (all identifiers in
a system program). I'd looked up Knuth after my first attempt at hashing ended
up with a very poor distribution (turns out that it was the size of my hash
table that was the culprit -- after fixing that, all ended well). Now, comes
the hard part:  How do I acknowledge that I did NOT invent hashing and that I
did, in fact, learn most of the concepts & was much influenced by Knuth and
some of the Unix stuff (oops, there I go looking at the sources again)?
Particularly, the hash table size, which he asked us to look at and find an
optimal size, and write about WHY that size was best? I'm in trouble here,
right, since I already know that a prime number is best? Seems that the best
solution, in my case, is to keep my mouth shut, because CS instructors have no
sympathy for such cases, judging from the three responses to my original
bulletin....  students are supposed to be illiterate, and are supposed to do
no outside work, and are supposed to learn only what's taught in class, seems
to be the message. And when the contrary is true, the message seems to be keep
your mouth shut and pretend that you're just another ignorant undergrad....

  Eric
--
Eric Green   elg%usl.CSNET     "Just an undergrad" CS student, USL
{cbosgd,ihnp4}!killer!elg      Haquer, Bayou Telecommunications
Snail Mail P.O. Box 92191      BBS phone #: 318-984-3854  300/1200 baud
Lafayette, LA 70509            Clever quote goes here, but I'm too exhausted.

djw@a.UUCP (David Wade, Neutron Measurements Group, Computer Abuser ) (04/30/87)

>
>  When designing an assignment for a class that I am teaching,  ...
>                 I do this because it is my philosophy that CSE
>  is primarily developing problem solving skills and not teaching how to
>  program.   
I believe that something is missing here...

	1) do you have the kind of equipment that I will need after school?
	2) do you have the language I will need after school?
	3) do you understand the marketplace I will be entering OR are
	you educating me for a particular job?
After all; you wouldn't teach a locksmith without having locks around.
And, since I've been paid as a programmer/analyst for over 17 years, I
wonder why the schools are turning out brain-damaged graduates.  Not
that it is really their fault, but just in case you have been paying
attention, ALL OF THE CURRENT PROGRAMMING LANGUAGES ARE TEACHING YOU
TO THINK IN A WAY THAT WON'T HELP YOU ON THE NEXT GENERATION OF
MAINFRAMES.

Here in Los Alamos we usually have fast computers.  We tend to have
a reasonable collection of "new" computers.  We recently changed
the direction we were going with respect to the "hypercube" because
of something I'm not qualified to tell you, but we still have a
"Hypercube" around. And we have a CrayXMP48.

Please explain to me which of your classes emphasizes that I be
writing in a lauguage which does 256 independent tasks concurrently.
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

That's important, folks!  I expect to see micro-clusters in home
computers before many of you reading this graduate.  How many of
you can even conceive of a program which does 4 different 
program tasks, concurrently?  The Cray will give you its 4 CPU's
if you ask for them corrrectly, now!  This stuff is real!

The Hypercube has 256 separate CPU's working on your program independently.
When you get a bug, which stack are you going to check?  How are you
going to write a bubblesort for a machine which uses 256 separate/
independent CPUs?

Perhaps the fact that the student (who was advocating leniency for
student cheaters) couldn't spell plagiarize, didn't use punctuation,
and wrote as though he were a 9-year old; doesn't really matter.
His training at your school's hands will merely give him an earlier
chance at the queue awaiting their chance to write a program on a
machine which processes data in a matter fundamentally alien to the
currently taught curriculum.

Perhaps it is time that we force CS students to read about general
semantics?  Perhaps we can screen out Aristotelian thinking in our
Computer Science Departments?  But then Computer Science would
start to look like the Philosophy Department.  Perhaps that's
wise,  we could change its name to Philosophistry...

Meaning no real harm,
Dave Wade

tlh@mordred.cs.purdue.edu (Thomas L. Hausmann) (05/03/87)

In article <170@a.UUCP>, djw@a.UUCP (David Wade, Neutron Measurements Group, Computer Abuser ) writes:
> >
> >  When designing an assignment for a class that I am teaching,  ...
> >                 I do this because it is my philosophy that CSE
> >  is primarily developing problem solving skills and not teaching how to
> >  program.   
> I believe that something is missing here...
> 
> 	1) do you have the kind of equipment that I will need after school?
> 	2) do you have the language I will need after school?
> 	3) do you understand the marketplace I will be entering OR are
> 	you educating me for a particular job?
> After all; you wouldn't teach a locksmith without having locks around.
> And, since I've been paid as a programmer/analyst for over 17 years, I
> wonder why the schools are turning out brain-damaged graduates. 

If you want go to school soley to get job training, go to a vocational
school.  It is not my job to educate students with knowledge that is
outdated before they this institution.  I don't know what Wade means by
brain-damaged graduates (maybe they can't hack RPGII in their sleep
or something. ;-))  Face it Wade, it is (in my opinion) not a University's 
purpose to focus education on job specific skills.  (Of course, CS students
learn to program, just like engineers learn calculus.)

If a person has developed good problem solving skills independent
of programming languages and architectures the transition to new languages and
architectures is much easier than for the person who has done all their 
work/education in one language and machine architecture (obviously).
That is why I am surprised at your questions above Wade, you and I are both
aware that in this field we are always having to learn new things.  No one could
teach you about writing concurrent programs 17 years ago.

And this is my point, I try to teach students how to THINK because I cannot
tell them about all the equipment, languages, and architectures they will be
using 4, 17, or 30 years from now.  What I can do is invite students to some of the
seminars and talks that are always going on in the department in order for
them to see genuinely new things which may not ever be taught in a class for
several more years.  I have done this and the students said their minds were blown
but at least they had the exposure.

Striking a balance between gymnatics 
and music (now that the weather is nice.)

Tom
-------------------------------------------------------------------------------
Thomas L. Hausmann           |   
Graduate Assistant           |   tlh@mordred.cs.purdue.edu    ( ARPA )
Dept of Computer Science     |
Purdue University            |   ...!purdue!tlh   ( UUCP  )
-------------------------------------------------------------------------------

tlh@mordred.cs.purdue.edu (Thomas L. Hausmann) (05/03/87)

>in article <1262@arthur.cs.purdue.edu>, tlh@mordred.cs.purdue.edu (Thomas L. Hausmann) says:
>> In article <780@killer.UUCP>, elg@killer.UUCP (Eric Green) writes:
>>> I'm curious: What do you academicians ...
>>   ...In short, looking  up solutions (in my book) 
>>   is not cheating but it is circumventing the purpose of assignments.
>
>Isn't TELLING them about bubble sorts and quicksort, the same as them looking
>it up in a book in the library? 

  No, it isn't.  Refer to the quicksort algorithm on p 94 of AHU.  This is how
  I specified the quicksort algorithm to my class. The algorithm is short and
  easily stated, but when you implement quicksort you have to Micky-Mouse
  around to perform the partitioning.   Now IF I were to assign a program like
  this, one of the things the student would get out of the assignment is that
  easily stated algorithms often mask cumbersome implementation details.

>                                I don't know about you, but my instructor
>spent 2 lectures disecting the quicksort algorithm, line by line, and then
>gave us a programming assignment telling us to devise several ways of choosing
>a median value, and see how much time kicking in an insertion sort on small
>partition sizes would save, and print out performance data to see which was
>more efficient... seems to be the same kind of stuff that anything you can
>look up in the library would do, 
 
  Perhaps your instructor wanted you to look at a large amount of data
  and make a few guesses and then run your program on a few more times or
  verify your guesses mathematically.  Okay, so it's been done for
  quicksort, but down the road Eric, your going to have to be able to
  look back at your programs and find ways of making them more efficient
  and quite possibly this was one of the goals of the assignment.

>          ... students are supposed to be illiterate, and are supposed to do
>no outside work, and are supposed to learn only what's taught in class, seems
>to be the message. 

    This is obviously not the case.  Being able to use references is a good
    skill, sometimes it's more instructive to figure things out for yourself.

>Eric

Tom

-------------------------------------------------------------------------------
Thomas L. Hausmann           |   
Graduate Assistant           |   tlh@mordred.cs.purdue.edu    ( ARPA )
Dept of Computer Science     |
Purdue University            |   ...!purdue!tlh   ( UUCP  )
-------------------------------------------------------------------------------

gilbert@aimmi.UUCP (Gilbert Cockton) (05/04/87)

In article <170@a.UUCP> djw@a.UUCP (Dave Wade) writes:
>
>Perhaps it is time that we force CS students to read about general
>semantics?  Perhaps we can screen out Aristotelian thinking in our
>Computer Science Departments?  But then Computer Science would
>start to look like the Philosophy Department.  Perhaps that's
>wise,  we could change its name to Philosophistry...
>

I've been led into this line of reasoning whenever I consider the
problem of CS graduates being asked to handle problems for which they
do not have the right sort of attitudes and intellectual approaches.
However, I really do doubt whether we could really effectively expand
the disciplines taught to CS undergraduates. In the UK, most students
are narrow specialists by the age of 18, so it would only be cruel 
making them think philosophically, write elegantly, reason with humility and 
enquire into the appropriate body of knowledge before programming their
amateur AI programs or reinventing graphic design. Few of these skills count 
for anything in the maths and science subjects which most of them have studied 
at high school level. Instead they are force fed from cookbooks and pushed
into the narrow epistemologies of mathematical  logic, 2-variable 
experimental method and seat of the pants modeling techniques.

It would seem more sensible to regard CS graduates as highly skilled
doers and fixers, the craftsmen rather than the designers of IT,
and to recruit additional graduates for more abstract and conceptual work.
There is a tendency to ask too much of technically trained people who
do what they have been trained to do well, and to ask them to develop skills,
self-taught and with no humbling peer criticism, which already exist elsewhere.
No-one round here heard of division of labour?

There are now many people who have studied some computing, but whose
main subject could not be studied at all without a high degree of
intellectual flexibility, imaginative hypothesis generation and a
sound exposure to those nasty philosophical problems that just can't
be programmed away. And what's more they can write about them without
slavish addiction to the nonsense of technical writing pundits (no
passives! - 17 word sentences - who are these cultural vandals?).
What many can't do is finish a dull, fiddly and technically intricate
task - this is where you need your craftsmen.
-- 
   Gilbert Cockton, Scottish HCI Centre, Ben Line Building, Edinburgh, EH1 1TN
   JANET:  gilbert@uk.ac.hw.aimmi    ARPA:   gilbert%aimmi.hw.ac.uk@cs.ucl.ac.uk
		UUCP:	..!{backbone}!aimmi.hw.ac.uk!gilbert

chris@mimsy.UUCP (05/06/87)

In article <5@aimmi.UUCP> gilbert@aimmi.UUCP (Gilbert Cockton) writes:
>... they can write about them without slavish addiction to the
>nonsense of technical writing pundits (no passives! - 17 word
>sentences - who are these cultural vandals?).

Passive sentences have been known to be useful.  :-)

`I am not a crook.'  :-)
-- 
In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 7690)
Domain:	chris@mimsy.umd.edu	Path:	seismo!mimsy!chris

elg@killer.UUCP (Eric Green) (05/06/87)

Sorry about the high flammables content of my last posting... disdvantage of
doing all my netreading/netposting after midnight (I tend to get a bit giddy
around 2am :-). 

Points:

1) You are not going to teach a person how to think by denying him access to
necessary resources. I believe this was one of the justifications used in the
past for denial of computer resources to CS students: "If they have to
scribble it down in pencil and paper and then type it onto punch cards,
they'll have to think about the problem more."

2) Your typical teen-age hacker type can knock down quicksorts all day long
without pausing for breath, much less having to think. Telling him to not run
to the library isn't going to make any difference. You are not going to teach
innovation or "how to think" in a lower level CS class. Many students will
memorize solutions. The hacker folk don't need to memorize solutions. In any
event, almost nobody will listen to a darn thing said in early "program
design" or "data structures" or "structured programming" classes until they
tackle their first real project.... something that they CAN'T look up in a
book, and that all the memorization and parroting in the world won't help. And
something where the hacker's hackerisms turn grotesque, unwieldy, and
transparent.

For example, if you really want to see a bunch of kids a'frenzied, tell them
to write an EGREP program, and point them towards various books about discrete
math, formal languages, and parsing. Next, ask them to explain what they've
done, as formally as possible :-). You'll see'em doodling transition diagrams
on the backs of napkins while they're eating for the next month. To be fair,
though, that's really something for upperclassmen who'd have the necessary
mathematical background...

If a student types in a program out of a book, that's obviously "cheating".
However, when used properly, a book can help a student understand the
reasonings and principles behind a solution. Is not that understanding, a
step toward the road of actually being able to independently develop such
solutions?  
--
Eric Green   elg%usl.CSNET     CS student, University of SW Louisiana
{cbosgd,ihnp4}!killer!elg      Apprentice Haquer, Bayou Telecommunications
Snail Mail P.O. Box 92191      BBS phone #: 318-984-3854  300/1200 baud
Lafayette, LA 70509            I disclaim my existence, and yours, too.

tim@praxis.UUCP (05/07/87)

In article <5@aimmi.UUCP> gilbert@aimmi.UUCP (Gilbert Cockton) writes:


> I've been led into this line of reasoning whenever I consider the

	You don't mention whether you refer to the 'line' of reasoning which
    precedes your diatribe or the 'line' of reasoning which constitutes it.
    Neither is continuous enough to be recognisably a line.

> However, I really do doubt whether we could really effectively expand
> the disciplines taught to CS undergraduates. In the UK, most students
> are narrow specialists by the age of 18, so it would only be cruel 
> making them think philosophically, write elegantly, reason with humility and 
> enquire into the appropriate body of knowledge ...

	Presumably you enquired into the body of knowledge dealing with
    psychological profiles of all 18-year-old students before writing this
    carefully-considered summary. Did you also take a dip in the pool of
    humility? I doubt it.

> ... and with no humbling peer criticism, which already exist elsewhere.

	The humbling peer criticism has obviously had its effect on you. Do
    you realise how silly this talk of humility looks in the context of the
    rest of the article?

> 
> There are now many people who have studied some computing, but whose
> main subject could not be studied at all without a high degree of
> intellectual flexibility, imaginative hypothesis generation and a
> sound exposure to those nasty philosophical problems that just can't
> be programmed away. ...

	So what do you want, a round of applause? People who try for
    philosophy degrees do so because they are inclined to think abstractly
    ( forgive the generalisation, I haven't asked them all, this is only my
    surmise ). That does not mean that they are all best suited to that
    style of thought. Some may be attracted by the two-paragraph sentence as
    a means of self-expression and be disappointed to be asked to think
    about tableness. Nor does that mean they won't get their degrees.

	And what is a degree? Three years of your life. If you're burned out
    after that why does any of us go on? After age 21, do we all stop being
    trainable? Oh, woe! Why don't I take myself out and shoot myself? Why,
    because I don't have that skill.
 
> slavish addiction to the nonsense of technical writing pundits (no
> passives! - 17 word sentences - who are these cultural vandals?).

	They are people who understand what they are going to write about
    and don't object to letting other people understand too. In fact they
    are so confident of their understanding that they will set it out in
    clear language to allow it to be criticised more easily by others.

	There is a difference between the sort of wording that wins Booker
    Prizes and the sort that communicates technical ideas.

> What many can't do is finish a dull, fiddly and technically intricate
> task - this is where you need your craftsmen.

	This last sentence sums up the whole article. We may have been
    privileged to see the emergence on the net of intellectual racism.
    Perhaps, though, the article can be attributed to a blind rage at the
    other article. I didn't read it but judging from the paragraph quoted it
    appears to be a shot across the bows from the 'Realprogrammerupuntiltwo-
    everymorningtakescoffeeIVandeatstwokilosofchocolateadayandsixburgersbefore-
    writinganoperatingsysteminmachinecodeandentersitbywhistlingdownaphoneline'
    faction of software engineers. Can a philosophy-with-computing ( another
    guess ) graduate be driven into a rage? Surely not.

	Well, I can't lay bricks. Does this mean that bricklayers as a race
    are the sublime pinnacle of pure intellect, or that they're the pits?
    Neither. It means I'll never earn a crust laying bricks.

	No smileys. If you don't mean it you won't say it.

	Tim M.
-- 
	Tim  Magee.
I[}}}]){{]]{{{(()((}})){{(){{(}}]){{{{{}}[[}}]){{{[]{{{{{}}}].
Charles Schulz points out that there is a difference between
a good philosophy of life and a good bumper sticker.

tlh@arthur.cs.purdue.edu.UUCP (05/11/87)

In article <852@killer.UUCP>, elg@killer.UUCP (Eric Green) writes:
> You are not going to teach a person how to think by denying him access to
> necessary resources. 
> 
[ large portion deleted ]
> If a student types in a program out of a book, that's obviously "cheating".
> However, when used properly, a book can help a student understand the
> reasonings and principles behind a solution. 

Exactly, that is what I have been saying for two weeks.

>                                              Is not that understanding, a
> step toward the road of actually being able to independently develop such
> solutions?  

Understanding, yes, but independent development of ideas is "painful" in the
sense that it requires creativity, something that (possibly) cannot be taught
but can be encouraged!  Asking students not to run to the reference books
to do their homework is like assigning calc problems when some of the answers
are in the back.  It is not "denying access to resources" as Eric suggests.

> Eric Green   elg%usl.CSNET 
> {cbosgd,ihnp4}!killer!elg    

Tom

P.S.  Perhaps further dicussions on this issue can be done via email now.

-------------------------------------------------------------------------------
Thomas L. Hausmann           |   
Graduate Assistant           |   tlh@mordred.cs.purdue.edu    ( ARPA )
Dept of Computer Science     |
Purdue University            |   ...!purdue!tlh   ( UUCP  )
-------------------------------------------------------------------------------