Path: utzoo!mnetor!uunet!lll-winken!lll-tis!ames!mailrus!tut.cis.ohio-state.edu!rutgers!iuvax!bsu-cs!neubauer
From: neubauer@bsu-cs.UUCP (Paul Neubauer)
Newsgroups: comp.edu
Subject: Re: What is CS? (Was re First languages)
Message-ID: <2513@bsu-cs.UUCP>
Date: 31 Mar 88 03:07:45 GMT
References: <1522@ucdavis.ucdavis.edu> <364@abcom.ATT.COM> <3684@medusa.cs.purdue.edu>
Reply-To: neubauer@bsu-cs.UUCP (Paul Neubauer)
Organization: CS Dept, Ball St U, Muncie, Indiana
Lines: 92
Keywords: teaching, training, thinking, programming
Summary: teaching != training (but both are important)

In article <3684@medusa.cs.purdue.edu> tlh@cs.purdue.EDU (Thomas L. Hausmann) writes:
>In article <364@abcom.ATT.COM>, rgsmeb@abcom.ATT.COM (Michel Behna) writes:
>> From article <1522@ucdavis.ucdavis.edu>, by windley@iris.ucdavis.edu (Phil Windley):
>> > I couldn't care less what language my students need to know to get a job
>> > with IBM.  They should know how to program, they should be able to deal
>> > with abstraction, they should be able to design algorithms, but they
>> > shouldn't necessarily learn JCL, COBOL (ugh!), or even C because that's
>> > what HP wants.  
>> > Phil Windley
>> You may not care but as someone who graduated and had to find a job I think
>> you are wrong. Academia has the singular privilege of being able to afford
>> to hire unknowledgeable (read unskilled) people and training them.
>
>Do you also think it is a Univerisity's place to train people for industrial
>jobs?  If you want to learn SKILLS while in school, internships and coop programs
>are your options.  You MAY get job specific skills at a college or university,
>but to say a university "trains" people is not accurate.  (As I have said before, 
>I do not think it is a univerisity's place to "train" people for a "job."  Nor
>do I know of any university's stated MISSION including "high placement for
>our graduates.")
>
My $.02 may or may not be worth even that, but I think both Tom and Michel
are both right and wrong.  Tom is certainly right about how most (if not all
universities) perceive themselves.  Many, if not most, students seem to
believe that the purpose of a university is to prepare them for a job.
NO!!  A purpose of a university (not "the" purpose, "a" purpose) is to
prepare you for LIFE.  This does not mean training you to do some particular
job, but teaching and encouraging you to THINK.  The philosophy of your
typical university (and unfortunately few students and almost as few
businesspeople seem to realize this) is that the particular subject matter
is less important (to an undergraduate) than the fact that you are looking
at SOME subject in reasonable depth.  If you learn how to apply yourself and
think about a subject, and learn how to learn, then you will have done
yourself more long-term good than simply getting a first job can do you.

>Do you measure the worth of a computer scientist by how well they program?
>Admittedly, programming is a SKILL largely taken for granted in universities
>and within the system.  But whether a university should take the time to
>train the students to be better programmers is unclear (and I am against it.)

However, I part company with Tom at this point.  If the major subject is
computer science, then ideally a student should get what nearly everyone
considers to be a good grounding in all of the major areas of computer
science study.  Computer science clearly includes the analysis of algorithms
and of data structures.  It also includes computability theory and numerical
analysis, "artificial intelligence", language translation (compiler design),
computer hardware and architecture,....  But, computer science also includes
a component of what is now called "software engineering."  Perhaps someday
this will be formally split off from CS and "software engineering" will no
more be the province of CS departments than chemical engineering is the
province of chemistry departments today.  There does appear to be some
sentiment for that approach, but in most places, it does not seem to be much
more than sentiment. ("WHAT?  Give up our bread and butter courses? How are
we going to support our grad students?" :-) I am aware that constraints of
time and $$$ place a limit on how well the ideal can be approached, but I
contend that any CS student (grad or undergrad) is woefully shortchanged
without this important subdiscipline of CS.  Furthermore, I contend that
this is an area that cannot be taught in a relative vacuum.  Just as a
course in the analysis of algorithms normally demands that the student
actually analyze some algorithms, "software engineering" should demand that
the student actually analyze, plan and write some software, preferably on a
scale that forces more attention to design than the typical weekly project.
It may or may not be necessary to have a course with the name "software
engineering."  It may or may not even be possible within the constraints of
an existing situation.  However, it should not be completely ignored either.
A computer scientist (even a fledgling computer scientist) needs to know
about design and coding practices as surely as s/he needs to know about
algorithms, data structures and architectures.  It is unrealistic to think
that such knowledge will just happen.  Sorry, Tom, while I concur with you
about the undesireability of focusing on teaching (for example) C or COBOL
specifically as job training, I think you're dead wrong on the subject of
whether relevant (yes, I know this is begging the question) skills should be
the subject of some significant focus.

>Perhaps I am just picking on word choice above Michel.  What you say of the
>"real world" is of course true.  It is just that I hold this idealized(?)
>view of how universities should be.

Perhaps I am just picking on Tom's word choice, but I also hold an idealized
view of what and how universities should be.  I am in complete agreement
with (the excerpt from) Phil's cited posting.  A university need not and
should not simply follow the lead of whoever the local employer is likely to
be.  I do not feel that students would be well-served by such pandering, but
I also feel that students would not be well-served by ignoring all training
in how to be better programmers.  A programmer need not be a computer
scientist, but a computer scientist usually had better be a reasonably good
programmer.

/*end of soapbox mode*/

-- 
Paul Neubauer         neubauer@bsu-cs.UUCP
                      !{iuvax,pur-ee,uunet}!bsu-cs!neubauer