Path: utzoo!mnetor!uunet!steinmetz!ge-dab!codas!abcom!rgsmeb From: rgsmeb@abcom.ATT.COM (Michel Behna) Newsgroups: comp.edu Subject: Re: What is CS? (Was re First languages) Message-ID: <336@abcom.ATT.COM> Date: 24 Mar 88 14:14:55 GMT References: <4807@ecsvax.UUCP> Organization: AT&T, Aurora, Colorado Lines: 52 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?). > I would like to disagree with this idea. (Note that I've cut into the middle > of a paragraph - continued below.) I see this idea of the "theory" being > isolated from the "real world" cutting into all academic fields. >> 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. I am jumping into this conversation with both feet. ;-) 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. Academia has divided it into discrete areas for political reasons. So now we have computer science, computer engineering, information management systems, math & CS, etc... This has given a lot of people, some young and some naive, that this is the case in the outside world and that this is the way it should be. In the real world you do either programming, designing, analysis, testing, specification writing or a combination of all of these or none of these and manage :). They don't care much about whether you know hardware if you work in software as above. They don't care about the beauty or elegance of your latest algorithm unless it solves something never done before. They care about cost and about maintainability. Now back to the issue at hand, 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. As far as what language should be taught first, an overview of the languages as a first course should be a must. Preferably concentrating on ones that are of "real world" and academic interest. Although I started out with a structured language, I feel that a functional language like LISP or SNOBOL or ...(fill in your favorite)would definitely be a lot of help to all students, because they will starting thinking in terms of solving problems instead of sequences of instructions and coding. This is especially true if it is taught as a first language. I feel that CS is really an exercise in applied logic. Any programmer worth his weight, any teacher will tell you that once you know half a dozen languages or so, you should be able to pick any other relatively easily. Now, I woul like to caution people against thinking that CS is ALGORITHMS + DATA STRUCTURES only. The knowledge you pick up in CS courses is only meant to save you time and provide you with enough knowledge and background information on what has been discovered so far. 'Nuff said. Michel Behna abcom!rgsmeb