Path: utzoo!mnetor!uunet!husc6!cmcl2!nrl-cmf!ames!ncar!gatech!purdue!tlh From: tlh@cs.purdue.EDU (Thomas L. Hausmann) Newsgroups: comp.edu Subject: Re: What is CS? Message-ID: <3640@medusa.cs.purdue.edu> Date: 26 Mar 88 08:00:17 GMT References: <4807@ecsvax.UUCP> <336@abcom.ATT.COM> Sender: news@cs.purdue.EDU Organization: Department of Computer Science, Purdue University Lines: 76 Summary: A REAL definition In article <336@abcom.ATT.COM>, rgsmeb@abcom.ATT.COM (Michel Behna) writes: > From article <4807@ecsvax.UUCP>, by hes@ecsvax.UUCP (Henry Schaffer): > > In article <1000@mcgill-vision.UUCP>, mouse@mcgill-vision.UUCP (der Mouse) writes: > >>... > >> It seems to me that the Computer Science curriculum should teach > >> Computer Science. The art of programming does not seem to me to be a > >> part of Computer Science; it belongs somewhere else (software > >> engineering maybe?). > >> This is not to say that CS students shouldn't be > >> taught any programming, but rather that we should not pretend that > >> programming is really part of CS proper. > > It seems there is this misconception of what Computer Science is all about. > The way I see it encompasses all fields that relate directly to computers. This is very broad and does little in defining CS. (e.g. what is a a direct relationship?) First of all I have yet to find a satisfactory definition of CS. Second, any definition of what CS is will probably be too restrictive. Third, no one definition is going to please everyone. However, for the sake of discussion let me include a proposed definition that is intended to distinguish CS from CE and CIS. Please note that it is a FUNCTIONAL definition and not a COMPREHENSIVE definition. That is, it defines "stuff" sufficiently so as to apply the definition. From CACM Vol 29 #3 (March 1986) in an article entitled "A Model Curriculum for a Liberal Arts Degree in Computer Science." [Words in all caps are my emphasis.] Computer science is the systematic study of algorithms and data structures, specifically (1) their formal properties, (2) their mechanical and linguistic realizations, and (3) their applications. Before describing the curriculum that follows from this definition it is important to reaffirm the essential ordering of emphasis among the three components listed above. The "formal properties (1) of algorithms and data structures must be emphasized over their specific machines and languages (2), as well as their applications (3), in order for a program to be legitimately called COMPUTER SCIENCE. If (2) takes precedence over (1) then the program might be called computer engineering; if (3) takes precedence, the program might be called information systems. It is a "tight" definition in the sense that it does not attempt to capture EVERYTHING that CS is (whatever it is..) For example, CS on the one hand may be considered a branch of "applied mathmatics." The above definition would "push" graph theory, combinatiorics, Boolean algebra, into mathematics and out of CS. I am not going to say this is a good definition or a bad definition of CS because it is a "working" definition. > ... I feel that a BS in CS should at least prepare > the person to get a job and have the proper tools , knowledge and skills > to perform this job. This suggests to me that there is a "vocational" emphasis in mind. I have said in the past that it is not a Univerisity's place to perform "vocational training." Granted, that one may be able to get a job with a BS in CS, but to say that the worth of a BS is judged by one's ability to perform jobs skills is wrong. (It is a subtle distinction!) > Michel Behna > abcom!rgsmeb -Tom ------------------------------------------------------------------------------- Tom Hausmann Dept. of Computer Sciences Purdue University tlh@mordred.cs.purdue.edu | My ideas? There has never been an original ...!purdue!tlh | thought since Plato.