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