mouse@mcgill-vision.UUCP (der Mouse) (03/14/88)
[ Let's move this to comp.edu; that's really where it belongs now. This article is crossposted and I've tried to redirect followups there. ] In article <1982@ho95e.ATT.COM>, wcs@ho95e.ATT.COM (Bill.Stewart) writes: > In article <3730@megaron.arizona.edu> debray@arizona.edu (Saumya Debray) writes: [ An attribution line seems to have been lost here ] >>> I contend that exposing first-year students to a functional >>> programming language does not fit that role. [The referent for "that role" seems to have been lost.] >> Assuming you're not referring to two-year trade schools that crank >> out programmers, I disagree. In my opinion, a primary purpose of a >> CS degree program is to teach students the basic principles of >> computation. > Remember that 1st-year students, even CS students, are studying more > than just CS100, and, if possible, they should have *some* usable > programming knowledge as soon as possible. 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. > While it's probably a Bad Thing to expose them to BASIC, whatever > functional language you teach them had better be adequate for doing > chemistry and physics homework, numerical integration for calculus, > statistics for their psych classes, and the like. Why? If they want to learn a language so they can use it, they should take a course in that language. (Selecting that language can be difficult; they may want to first take an overview course, which should give them some idea of what languages are out there and what their relative strong and weak points are.) The Computer Science "main line" should, it seems to me, consider languages only for how they model computation, which will probably have nothing to do with how practical they are to use to solve problems in chemistry, physics, etc. Consider an analogy: natural languages. A linguist can be either an "applied" linguist or a "theoretical" linguist. An example of the former would be someone who wants to do translation work; an example of the latter might be Noam Chomsky or whatshisname Whorf. It seems to me that the same is true of computer languages. One can study them to use them to get things done or one can study them to understand them in their own right and how they model computation. >>> [ ... ] I have just changed jobs. In no interview was I asked >>> whether I knew ML; in every interview I was asked if I knew C. The employers you interviewed with were interested in practical work instead of theory, obviously. If they were trying to hire a theoretician (unlikely; theory isn't big outside academia in most fields), then it would make more sense to ask you whether you were familiar with the various types of languages rather than asking for specific languages. der Mouse uucp: mouse@mcgill-vision.uucp arpa: mouse@larry.mcrcim.mcgill.edu