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
hes@ecsvax.UUCP (Henry Schaffer) (03/24/88)
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. Engineers who have never seen a machine, biologists who have never seen a frog or a flower, and now computer scientists who have never seen a program? I see programming as being equivilent to the lab part of science courses. One gets a small amount of academic credit for the lab part of a course - the work is usually much greater than the credit hours would indicate - the lab is considered to be a necessary part of gaining an understanding - not a substitute for the "Science" which is covered in the lectures. (Unfortunately, the lab parts of science courses have been abbreviated or dropped over the past decade. I believe that this is a *bad* thing, and that it has been done mostly to save money in teaching - and that many faculty have acquiesced because they have thought that concepts can be taught in isolation. > 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. Ok, this is the rest of the paragraph - so you see I did take the first part out of context [just a little!] - but I still disagree with the end. I'll argue that programming is just as much really part of CS proper as the frog, worm and flower (anatomy) form really part of the Biological sciences proper. (I'm not saying that programming is the core of CS, nor that identifying flower parts is the core of biology - but there is a great difference between being the core and not really belonging to the field.) > ... [much deleted - I've gone on long enough] > der Mouse --henry schaffer n c state univ P.S. Isn't this isomorphic to our recent discussion on whether people should learn arithmetic?
rgsmeb@abcom.ATT.COM (Michel Behna) (03/24/88)
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
pjh@mccc.UUCP (Peter J. Holsberg) (03/24/88)
In article <4807@ecsvax.UUCP> hes@ecsvax.UUCP (Henry Schaffer) writes: |(Unfortunately, |the lab parts of science courses have been abbreviated or dropped over the |past decade. I believe that this is a *bad* thing, and that it has been done |mostly to save money in teaching - and that many faculty have acquiesced |because they have thought that concepts can be taught in isolation. In defense of the faculty: in many institutions, the question of how many hours of lab "go" with a theory course is no longer in the hands of the course designer/instructor. The courts have defended this as "managerial perrogative"! At my place, there is tremendous pressure to make labs 2 hours instead of 3, and to use technicians and student aides in the lab room rather than a faculty member. The reason is, of course, $$$$. Another restriction for many institutions is imposed by the bodies that accredit curricula. They usually have "guidelines" for the maximum number of credits and the maximum number of mandatory hours/work. Clearly, "good" students will spend as much time as needed to learn, provided that the facilities are available, but .... -- Peter Holsberg UUCP: {rutgers!}princeton!mccc!pjh Technology Division CompuServe: 70240,334 Mercer College GEnie: PJHOLSBERG Trenton, NJ 08690 Voice: 1-609-586-4800
windley@iris.ucdavis.edu (Phil Windley) (03/25/88)
While teaching programming to students in CS is important, I think we should be careful not to give students the impression that CS is JUST a collection of programming languages. I have received mail from undergrads at major US universities that say things like "what programming languages should I know to be successful". 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 Robotics Research Lab University of California, Davis
rgsmeb@abcom.ATT.COM (Michel Behna) (03/26/88)
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. C as a language is a good bet, so is COBOL and eventually ADA. As far as Pascal or other languages, Good LUCK!!! Fortran is still widely used in engineering apllications and Lisp in AI. I agree with you about what they should be able to do(design, abstract,..) but what good is it to you if the person is unable to translate these into a language that a computer can understand. It's like having a foreign professor try to teach you a subject but he is unable to do it in English. But more important, MOST companies want you to be productive as quickly as possible - this is especially true if you work for some small company - as they don't have either the time or resources to devote to your training. Or they may have deadlines that they have to meet. Furthermore, in a work environment you don't have the luxury of exploring principles and theories as in a classroom and so you should concentrate on picking those in class in the subject you're interested in. The real world wants productive and bright people! If you're bright they're willing to devote a lot of effort to training you but if you are unproductive BYE BYE!!! This is not to say that design, analysis, ... are non productive but that rarely do you start as a senior systems analyst. There are a few positions out there which require research but they are rare. Michel Behna amdahl!abcom!rgsmeb
tlh@cs.purdue.EDU (Thomas L. Hausmann) (03/26/88)
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.
rgsmeb@abcom.ATT.COM (Michel Behna) (03/29/88)
From article <3640@medusa.cs.purdue.edu>, by tlh@cs.purdue.EDU (Thomas L. Hausmann): > 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: >> ... 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!) > Tom Hausmann Dept. of Computer Sciences Purdue University Why is it that universities always seem to resent training people to earn a living? Universities have become the only source of higher education and have as such cornered the market. I have always felt that universities are training grounds for people. There people are trained to think. What seems to lack in a lot of curricula is a training of how to apply that in the real world. The pursuit of knowledge for its own sake is admirable but I have to disagree on how that will feed a hungry mouth although it may very well nourish a hungry mind. What is the worth of a BS? $7,000 in a state school or more than $30,000 in a private school. Is that all it means? Or is it the amount of knowledge that got crammed into your head? How many people remember all or most of what they were taught? How many care to? What is really frightening is the amount that is forgotten. What is a BS supposed to prove anyway? Where is it supposed to lead you? to another degree? This resistance from universities to train people for the real world is baffling. What's wrong with that? Regardless of what universities are supposed to or not do, I have to say that your "definition" of CS is a good one. However, I would prefer that all 3 parts of the curriculum are equally stressed. And furthermore I would like to add the science/art of programming as a fourth part. Michel Behna
pete@wor-mein.UUCP (Pete Turner) (03/30/88)
In article <364@abcom.ATT.COM> rgsmeb@abcom.ATT.COM (Michel Behna) writes: >C as a language is a good bet, so is COBOL and eventually ADA. As far as >Pascal or other languages, Good LUCK!!! Fortran is still widely used in >engineering apllications and Lisp in AI. > >I agree with you about what they should be able to do(design, abstract,..) >but what good is it to you if the person is unable to translate these into >a language that a computer can understand. It's like having a foreign professor >try to teach you a subject but he is unable to do it in English. I disagree with this entire line of argument, based on both my academic and professional experience. If you have a good foundation in the generalities, then any decent computer language can be learned from a book. That is exactly what I did with C at my first job (actually, I am somewhat dubious about C's qualifications as a "decent" language) - I was reasonably up to speed within a couple of weeks. I certainly received no complaints from my employer. If an employer is screening resumes for entry level programmers/engineers on the basis of specific language/OS experience, then I, for one, wouldn't want to work for them - they're probably running a hack shop!
tlh@cs.purdue.EDU (Thomas L. Hausmann) (03/31/88)
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.") > I agree with you about what they should be able to do(design, abstract,..) > but what good is it to you if the person is unable to translate these into > a language that a computer can understand. 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.) > But more important, MOST companies want you to be productive as quickly as > possible ... True. > The real world wants productive and bright people! If you're bright they're > willing to devote a lot of effort to training you but if you are unproductive > BYE BYE!!! This is not to say that design, analysis, ... are non productive > but that rarely do you start as a senior systems analyst. There are a few > positions out there which require research but they are rare. > Michel Behna > amdahl!abcom!rgsmeb 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. -Tom .^.^. Tom Hausmann . O O . tlh@mordred.cs.purdue.edu ( ARPA ) . v . ...!purdue!tlh ( UUCP ) / | | \ ./ \. "Whooo do ya think you're foolin' " ______mm.mm_____ \_/
tlh@cs.purdue.EDU (Thomas L. Hausmann) (03/31/88)
In article <439@abcom.ATT.COM>, rgsmeb@abcom.ATT.COM (Michel Behna) writes: > From article <3640@medusa.cs.purdue.edu>, by tlh@cs.purdue.EDU (Thomas L. Hausmann): > > 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: > >> ... 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. ... > > This resistance from universities to train people for the real world is > baffling. What's wrong with that? To me, a job training at a university would have defeated the purpose in attending a school in the first place. For if I went to school to become a programmer, it would have been more efficient for me to learn a language and then get a job with that. Please no flames about "just programming.." programming involves a great deal of problem solving not directly obtainable by just programming. Clearly we are both aware that a university does much more than qualify you to obtain work. To me this is the key. A univerisity gives you a perspective that the world is more than your job. A university that cuts its liberal education requirements in favor of courses to "prepare people for the real world" short-changes the students and defeats its mission. > However, I would prefer that all 3 parts of the curriculum are equally > stressed. And furthermore I would like to add the science/art of programming > as a fourth part. > Michel Behna Like I said, no definition will satisfy everyone. .^.^. Tom Hausmann . O O . tlh@mordred.cs.purdue.edu ( ARPA ) . v . ...!purdue!tlh ( UUCP ) / | | \ ./ \. "Whooo do ya think you're foolin' " ______mm.mm_____ \_/
neubauer@bsu-cs.UUCP (Paul Neubauer) (03/31/88)
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 <backbones>!{iuvax,pur-ee,uunet}!bsu-cs!neubauer
seibel@cgl.ucsf.edu (George Seibel%Kollman) (03/31/88)
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. [...] I'll side with Michel on this one. The University seems to have cornered the market on prestige and lofty knowledge, but to put knowledge to work and do something practical with it is somehow unclean. What's the deal here? Why can't we be both literate and skilled? I don't believe that our society can afford too many "armchair computer scientists". We need people who are capable of putting ideas into action. I notice some of the most successful scientists in my field are people who have technical skills as well as theoretical expertise. When they have an idea, they can put it into practice quickly, instead of having to cajole some postdoc or grad student into coding it up for them. From my experience with wide-eyed CS grads who were incapable of dealing with real world problems, I suggest that CS could stand a dose of reality. George Seibel Dept. of Pharmaceutical Chemistry UC San Francisco
hugo@eleazar.Dartmouth.EDU (Peter Su) (03/31/88)
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 to me that programming is an intimate part of computer science, if for no other reason than it provides a vehicle for experimentally testing theoretical results. Historically, CS has always been a multifacited area, containing both theory and practice. I think that's what makes it more interesting than other fields (like say, Math) that only provide one view of the world. Rememer, one of the great works written about computer science was called "The Art of Computer Programming." What made it great what the fact that it containted a mix of programming, mathematics and neat ideas in the field of algorithms. Pete -- CSNET: hugo@darmouth.edu UUCP: hugo@eleazar.UUCP (Sorry) ARPA: hugo%dartmouth.edu@relay.cs.net QUOTE:"Our president's crazy! Did you hear what he said?" - Talking Heads
mcdonald@uxe.cso.uiuc.edu (04/02/88)
>I disagree with this entire line of argument, based on both my academic and >professional experience. If you have a good foundation in the generalities, >then any decent computer language can be learned from a book. That is exactly >what I did with C at my first job (actually, I am somewhat dubious about C's >qualifications as a "decent" language) - I was reasonably up to speed within >a couple of weeks. I certainly received no complaints from my employer. I disagree seriously on this, if by "generalities" you mean theory. I would say that learning ONE language COMPLETELY would be sufficient. I also think it important that students be taught how to do at least a few thing that the target language is NOT designed for: writing a rudimentary editor in Fortran, or doing differential equations in Prolog.. That way they will see the reason for the Towel of Babel existing in computer languages: it's there for a good reason. Doug McDonald
rgsmeb@abcom.ATT.COM (Michel Behna) (04/02/88)
From article <3684@medusa.cs.purdue.edu>, by tlh@cs.purdue.EDU (Thomas L. Hausmann): > 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): > 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.) I think that universities should! I've seen too many so-called _computer scientists_ that have come out of college and that end up as programmers. The worst part of it is that they do not know how to program. They figure that if they can create a nifty algorithm it does not matter if nobody else understands it or if they are unable to maintain six months from now. No, universities should not train people for high placement jobs BUT they should not ignore reality. Coop programs are not always available and most CS programs lack real-world relevant experience. Software-engineering is under-emphasized(de-emphasized). I have had teachers that tried to teach me a language and failed miserably because they, themselves, were unable to program in that language. They could not implement what they taught.
rgsmeb@abcom.ATT.COM (Michel Behna) (04/02/88)
From article <3686@medusa.cs.purdue.edu>, by tlh@cs.purdue.EDU (Thomas L. Hausmann): > In article <439@abcom.ATT.COM>, rgsmeb@abcom.ATT.COM (Michel Behna) writes: >> From article <3640@medusa.cs.purdue.edu>, by tlh@cs.purdue.EDU (Thomas L. Hausmann): >> > 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: > Clearly we are both aware that a university does much more than > qualify you to obtain work. To me this is the key. A univerisity gives > you a perspective that the world is more than your job. A university that > cuts its liberal education requirements in favor of courses to "prepare > people for the real world" short-changes the students and defeats its mission. Good Luck! if you think that you can get a job by just learning a language and hold it very long! You would stagnate like a swamp. And who said anything about cutting liberal arts programs. I have a BA in French Literature and Biology and a BS in Mathematics and Computer Science. All I said is that a little real world influence in a program will do it a lot more good, not harm!! I switched to CS because I could not get a job with my BA. How many CS graduates know how to program an IBM PC? How many know what a LAN is and how it works? How many understand that tech specs are the only reason many people buy computers of a particular brand? How many can justify it? Idealism is a beautiful thing but it does not work as good as realism! Michel Behna
rgsmeb@abcom.ATT.COM (Michel Behna) (04/02/88)
From article <10771@cgl.ucsf.EDU>, by seibel@cgl.ucsf.edu (George Seibel%Kollman): > 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'll side with Michel on this one. The University seems to have cornered > the market on prestige and lofty knowledge, but to put knowledge to work > and do something practical with it is somehow unclean. [stuff deleted] > I notice some of the > most successful scientists in my field are people who have technical > skills as well as theoretical expertise. I think you've hit upon the problem here! I also think that computers will become pervasive in our society that people cannot afford to be computer illiterate. How many programmers got hired to program an application that they have no understanding of and botched it up? Universities are a practical way of acquiring knowledge, so where is the idealism? What happened to the renaissance man? Why don't we all go back to learning on our own? Isn't the scientific method supposed to work for universities? Observe reality and then postulate your hypothesis ( curriculum). Aren't teachers supposed to impart me with knowledge that I need and want instead of what they think they should teach? I know that I could have used a couple of courses in typing. Programming involves a lot of it! I would ceratinly feel more productive if I could type better! Amen!
tlh@cs.purdue.EDU (Thomas L. Hausmann) (04/02/88)
In article <10771@cgl.ucsf.EDU>, seibel@cgl.ucsf.edu (George Seibel%Kollman) writes: > 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 ... > > I'll side with Michel on this one. The University seems to have cornered > the market on prestige and lofty knowledge, but to put knowledge to work > and do something practical with it is somehow unclean. What's the deal > here? Why can't we be both literate and skilled? I don't believe that anyone advocates "literacy" or "skill" (read "well-rounded background" and "good programming skills" (?)) in absence of the other. Michel and I differ on which should be emphasized. I am (of course) influenced by my liberal arts undergraudate degree, but my experience at Purdue has not changed my opinion. Good programmers are problem solvers who can encode instructions. [not the other way around - to me] > I don't believe that > our society can afford too many "armchair computer scientists". What do you mean by "armchair computer scientists". > From my experience with > wide-eyed CS grads who were incapable of dealing with real world problems, By this, I take it to mean that you found CS grads who were not fast programmers. Or, CS grads who had difficulties applying their knowledge. > I suggest that CS could stand a dose of reality. Every discipline may be plaugued by graduates who have difficulties making the connection between theory and practice. Not to sound trite but is this what you mean by "reality". > George Seibel > Dept. of Pharmaceutical Chemistry > UC San Francisco -Tom .^.^. Tom Hausmann . O O . tlh@mordred.cs.purdue.edu ( ARPA ) . v . ...!purdue!tlh ( UUCP ) / | | \ ./ \. "Whooo do ya think you're foolin' " ______mm.mm_____ \_/
dstalder@gmu90x.UUCP (Darren Stalder) (04/02/88)
This is only marginally related to the topic at hand. go ahead and flame me if you desire, they will be ignored. A college professor and I were talking about what should really be taught in a programming course to prepare them for the real world. My suggestions were: Give someone a piece of spaghetti code that does one thing. Give them some trivial mods to get it to do the same thing only slightly different. Tell them that it is due tomorrow and that the entire thing needs to be documented in full. His suggestions: Give them a project and tell them it needs to do this. Give them a data set that isnt valid. Then halfway to the due date, change what the program needs to do and tell them it needs to be done in 2 days. Just a little comment from your local reality checker.. -- Torin/Darren Stalder/Wolf Blessed Internet: dstalder@gmuvax2.gmu.edu Be! Bitnet: dstalder@gmuvax ATTnet: 1-703-352-8124 Hail uucp: multiverse!uunet!pyrdc!gmu90x!dstalder Eris! Snail: PO Box 405/Fairfax, VA 22030/USA DISCLAIMER: I have enough problems getting credit what I do do for work, much less this stuff.
rgsmeb@abcom.ATT.COM (Michel Behna) (04/03/88)
From article <906@gmu90x.UUCP>, by dstalder@gmu90x.UUCP (Darren Stalder): > A college professor and I were talking about what should really be > taught in a programming course to prepare them for the real world. You forgot the most realistic one: Find a job. Get along with your peers and boss. Get a promotion. Have a family. Raise your kids. And die! But seriously, Figure out what the user wants in H/W and S/W. Present a complete argument for your solution. Spec it out and have the user sign-off on it. Start design and analysis. User changes his mind and start all over again. Implement this and test. Install at user site. All this was to be done last year, and for $100.00.... -- Michel Behna "Unix is unique!" rgsmeb@abcom.att.com {ncsc5,codas}!abcom!rgsmeb
jefu@pawl23.pawl.rpi.edu (Jeffrey Putnam) (04/03/88)
In article <568@abcom.ATT.COM> rgsmeb@abcom.ATT.COM (Michel Behna) writes: >From article <3684@medusa.cs.purdue.edu>, by tlh@cs.purdue.EDU (Thomas L. Hausmann): >> In article <364@abcom.ATT.COM>, rgsmeb@abcom.ATT.COM (Michel Behna) writes: >> 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.) >I think that universities should! I've seen too many so-called _computer >scientists_ that have come out of college and that end up as programmers. The >worst part of it is that they do not know how to program. They figure that if >they can create a nifty algorithm it does not matter if nobody else understands >it or if they are unable to maintain six months from now. What bothers me is that many of these so-called computer scientists dont understand the very real problems involved in implementing the algorithms, things like interaction with paging, disk io problems and so on. I remember one large computational type program that was blythely running through large arrays across pages (rather than through them) so the application paged the machine to death (yes, the order could have been changed). Written by a computer scientist no doubt (actually i dont know who wrote it, but this was typical of the kind of mistake that i have seen computer scientists make). I have also been bothered by the mindset of many "computer scientists" who seem to think that only computer science is pure and nice and the people who actually write code are somehow impure and nasty. This species often refuses to learn anything about the systems and programs that they must use and like to use others as walking manuals and coders. These people are usually afflicted with a firm belief in their innate superiority and as a result probably dont get as good results as they might otherwise. On the other hand, i know several computer scientists who are primarily interested in theory but who keep both feet firmly planted in the machine - people who are not afraid of coding and who really understand the problems and rewards of actually building systems - and these people tend to impress me more with what they do than the other type. But then, i am coming to believe that a programming course should be required of _all_ students - including humanities students and all. Computers are increasingly common in all disciplines and workplaces and a good programming course is the best way to understand the problems and advantages of computer use. jeff putnam {jefu%pawl -or- jeff_putnam%rpitsmts}@itsgw.rpi.edu "People would rather believe a simple lie than the complex truth."
hes@ecsvax.UUCP (Henry Schaffer) (04/04/88)
In article <607@imagine.PAWL.RPI.EDU>, jefu@pawl23.pawl.rpi.edu (Jeffrey Putnam) writes: > ... > But then, i am coming to believe that a programming course should be > required of _all_ students - including humanities students and all. > Computers are increasingly common in all disciplines and workplaces and > a good programming course is the best way to understand the problems and > advantages of computer use. > Sometimes I agree with this point of view - especially if "programming" is interpreted in a general sense. The programming course for students in science and engineering would probably be a fairly standard course using FORTRAN or Pascal. Would it make sense for the "programming" for students in the business curriculum to use a spreadsheet as its language? I've always wanted to teach a programming course to students in the humanities and use SNOBOL4 as the language (maybe I would want to use ICON today.) I've never had the opportunity - but I think it would be fascinating to see if students who were motivated by natural languages and the manipulation of words would respond to a computer language which facilitated such uses. Does teaching students to use a spreadsheet or a math manipulator (e.g. TK-solver or MathCad, ...) meet your requirement for what teaching programming is supposed to do? > jeff putnam > {jefu%pawl -or- jeff_putnam%rpitsmts}@itsgw.rpi.edu --henry schaffer n c state univ
tlh@cs.purdue.EDU (Thomas L. Hausmann) (04/04/88)
In article <568@abcom.ATT.COM>, rgsmeb@abcom.ATT.COM (Michel Behna) writes: > From article <3684@medusa.cs.purdue.edu>, by tlh@cs.purdue.EDU (Thomas L. Hausmann): > > In article <364@abcom.ATT.COM>, rgsmeb@abcom.ATT.COM (Michel Behna) writes: > > ... But whether a university should take the time to > > train the students to be better programmers is unclear (and I am against it.) > > I think that universities should! I've seen too many so-called _computer > scientists_ that have come out of college and that end up as programmers. The > worst part of it is that they do not know how to program. ... > OK, we now have policy statements from concerned parties. Perhaps Michel and I can discuss things further via e-mail. Hope you all had a nice Easter weekend. -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.
tlh@cs.purdue.EDU (Thomas L. Hausmann) (04/04/88)
In article <569@abcom.ATT.COM>, rgsmeb@abcom.ATT.COM (Michel Behna) writes: > From article <3686@medusa.cs.purdue.edu>, by tlh@cs.purdue.EDU (Thomas L. Hausmann): > > In article <439@abcom.ATT.COM>, rgsmeb@abcom.ATT.COM (Michel Behna) writes: > I switched to CS because I could not get a job with my BA. How many CS > graduates know how to program an IBM PC? How many know what a LAN is and > how it works? How many understand that tech specs are the only reason many > people buy computers of a particular brand? How many can justify it? > > Michel Behna You and I are in CS for two very different reasons. I suggest we discuss this further via e-mail. -Tom .^.^. Tom Hausmann . O O . tlh@mordred.cs.purdue.edu ( ARPA ) . v . ...!purdue!tlh ( UUCP ) / | | \ ./ \. "Whooo do ya think you're foolin' " ______mm.mm_____ \_/
jefu@pawl18.pawl.rpi.edu (Jeffrey Putnam) (04/04/88)
In article <4859@ecsvax.UUCP> hes@ecsvax.UUCP (Henry Schaffer) writes: >In article <607@imagine.PAWL.RPI.EDU>, jefu@pawl23.pawl.rpi.edu (Jeffrey Putnam) writes: >> ... >> But then, i am coming to believe that a programming course should be >> required of _all_ students - including humanities students and all. >> Computers are increasingly common in all disciplines and workplaces and >> a good programming course is the best way to understand the problems and >> advantages of computer use. > ... Would it make sense for the "programming" for >students in the business curriculum to use a spreadsheet as its >language? I've always wanted to teach a programming course to students >in the humanities and use SNOBOL4 as the language (maybe I would want >to use ICON today.) I've never had the opportunity - but I think it >would be fascinating to see if students who were motivated by natural >languages and the manipulation of words would respond to a computer >language which facilitated such uses. > Does teaching students to use a spreadsheet or a math manipulator >(e.g. TK-solver or MathCad, ...) meet your requirement for what >teaching programming is supposed to do? I dont think so - though i have certainly considered it. I would not favor spreadsheets or math programs for a couple reasons. First, these programs are in fairly general use and it is likely that people will use them at some point naturally, and i believe it is a good idea to expose them to something that they might not normally see. But more fundamentally, i would prefer a "real" programming language as it is an opportunity not just to teach programming, but to teach something about the way computers work, the way programmers work, the way algorithms are described and implemented, and how they can use this stuff to actually build programs that will solve problems they might encounter. I was thinking of either a lisp family language (to minimize syntax woes) or something like ICON but with graphics extensions. I would focus on graphics (given an appropriate system) or string processing - primarily non-mathematical stuff to ease math anxiety. Graphics, even given math anxiety, would be nice because you can _see_ what is going on and there are some interesting things to do that are quite accessible. String processing is of fairly general interest as it doesnt involve math and there are some fun problems that are also accessible. jeff putnam {jefu%pawl -or- jeff_putnam%rpitsmts}@itsgw.rpi.edu "People would rather believe a simple lie than the complex truth."
hugo@eleazar.Dartmouth.EDU (Peter Su) (04/04/88)
In article <607@imagine.PAWL.RPI.EDU> jefu@pawl23.pawl.rpi.edu (Jeffrey Putnam) writes: >But then, i am coming to believe that a programming course should be >required of _all_ students - including humanities students and all. >Computers are increasingly common in all disciplines and workplaces and >a good programming course is the best way to understand the problems and >advantages of computer use. > At CMU, where I was an undergrad, there was a programming course that all students had to take, though there were several versions of it. It was basically simple programming and data structures in Pascal. There are a few reasons why I didn't think it was appropriate. The first is kind of irrelevant, but I think an interpreted language with simpler syntax, like LISP or SCHEME should be used in intro classes because then you can concentrate on progrmaming instead of the subtle nuances of Pascal parameter passing semantics. But, aside from that issue, I think a straight prgramming class is next to worthless for many Humanties and fine art students. What they need is more an illustration of how computers can be useful to them, rather than a tedious semster of dealing with concepts that are totally unrelated to their major. So I think we have to be careful in saying that _programing_ is to be required of everyone, because not everyone need to know how to program a computer. People should be taught that computers can be very useful in all academic areas, and that they should not be feared and hated. Cramming Pascal down a poor freshman's throat just guarantees one more freshman will never use a computer again. Pete -- CSNET: hugo@darmouth.edu UUCP: hugo@eleazar.UUCP (Sorry) ARPA: hugo%dartmouth.edu@relay.cs.net QUOTE:"Our president's crazy! Did you hear what he said?" - Talking Heads
hes@ecsvax.UUCP (Henry Schaffer) (04/05/88)
In article <612@imagine.PAWL.RPI.EDU>, jefu@pawl18.pawl.rpi.edu (Jeffrey Putnam) writes: > In article <4859@ecsvax.UUCP> hes@ecsvax.UUCP (Henry Schaffer) writes: > >In article <607@imagine.PAWL.RPI.EDU>, jefu@pawl23.pawl.rpi.edu (Jeffrey Putnam) writes: > >> ... > > Does teaching students to use a spreadsheet or a math manipulator > >(e.g. TK-solver or MathCad, ...) meet your requirement for what > >teaching programming is supposed to do? > I dont think so - though i have certainly considered it. I would > not favor spreadsheets or math programs for a couple reasons. First, > these programs are in fairly general use and it is likely that people > will use them at some point naturally, and i believe it is a good idea > to expose them to something that they might not normally see. But > more fundamentally, i would prefer a "real" programming language as > it is an opportunity not just to teach programming, but to teach something > about the way computers work, the way programmers work, the way > algorithms are described and implemented, and how they can use this > stuff to actually build programs that will solve problems they might > encounter. We might get into some controversy over what is a "real" programming language - Is an object oriented programming language a "real" one - how about hypertalk - or some of the 4GL database languages? While I have a gut feeling that only the procedural languates are "real" (they certainly do relate to the way computer work - they kind of reflect it) but wonder if we shouldn't raise above that. 1/2 :-) I think that the criterion "how they can use this stuff to actually build programs that will solve problems they might encounter" is a very strong justification for using the spreadsheet as the specimen language! > I was thinking of either a lisp family language (to minimize syntax > woes) or something like ICON but with graphics extensions. I would > focus on graphics (given an appropriate system) or string processing - > primarily non-mathematical stuff to ease math anxiety. Graphics, > even given math anxiety, would be nice because you can _see_ what > is going on and there are some interesting things to do that are > quite accessible. String processing is of fairly general interest > as it doesnt involve math and there are some fun problems that > are also accessible. I agree that non-mathematical applications are a necessity. Why burden the student with an irrelevant subject area if you are supposed to be teaching about programming. (That reminds me about how I had to learn about electrical circuits in order to pass calculus - but that is another story. > jeff putnam --henry schaffer n c state univ
jmm@thoth20.berkeley.edu (04/06/88)
In article <8538@eleazar.Dartmouth.EDU> hugo@eleazar.Dartmouth.EDU (Peter Su) writes: >>But then, i am coming to believe that a programming course should be >>required of _all_ students - including humanities students and all. You probably use wooden furniture all the time. Do you also think that a class in woodworking should be required of all university students :-)? Make that 1/2 :-). Just because something is in wide use does not mean that it is a fit subject for study at a university level. You might very well want people to know how to use a tool, but there are far better ways to use academic time to teach them that tool. (Make classes available for learning how to use computers as tools, but don't make them requirements. And don't give academic credit for them. Make people realize that the tools exist, and they can use them RIGHT NOW to make their lives easier. Don't force them to take bonehead CS when they could take something valuable instead.) / James Moore / | jmm@bartleby.berkeley.edu / / |--------------------------------------------| / Ma ta Gaeilge agut, / | Nil aon speis ag Ollscoile na | / scriobh i! / | California im bharulacha fein. |
msir_ltd@ur-tut (Mark Sirota) (04/06/88)
In article <8538@eleazar.Dartmouth.EDU> hugo@eleazar.Dartmouth.EDU (Peter Su) writes: > But, aside from that issue, I think a straight prgramming class is next to > worthless for many Humanties and fine art students. What they need is > more an illustration of how computers can be useful to them, rather than a > tedious semster of dealing with concepts that are totally unrelated to > their major. I agree. Not everyone needs to know how to program, but everyone should learn to recognize that the computer can be a useful tool. CMU does take care of this somewhat by offering computer art classes in the Arts program, which is probably fairly unique. It occurs to me that teaching programming to those in the "creative" arts - writing, drama, music, and the like - might be detrimental. Programming requires a certain type of thought, very right-brained, very logical, whereas people in these disciplines are on the other side of the brain, and think in a more relational, intuitive manner. Couldn't it be that forced programming will change the way these people think, and therefore possibly hinder their skills in their chosen area? Does anyone know of any evidence to support or disprove this? -- Mark Sirota msir_ltd%tut.cc.rochester.edu@cs.rochester.edu (rochester!ur-tut!msir_ltd)
gmg@yendor.UUCP (Gary Godfrey) (04/06/88)
In article <8538@eleazar.Dartmouth.EDU>, hugo@eleazar.Dartmouth.EDU (Peter Su) writes: > It was basically simple programming and data structures in Pascal. > > There are a few reasons why I didn't think it was appropriate. The first > is kind of irrelevant, but I think an interpreted language with simpler > syntax, like LISP or SCHEME should be used in intro classes because > then you can concentrate on progrmaming instead of the subtle nuances > of Pascal parameter passing semantics. > > But, aside from that issue, I think a straight prgramming class is next > to worthless for many Humanties and fine art students. In my last English class, one of the major stumbling blocks for most of the students was the documentation of the papers. The whole process is fairly simple - for a programmer. Put the comma here, the quotes there, and underline the title of books. Simple. Nothing compared to trying to remember the nuances of a language like 'C' or Pascal. But some students had real problems with a bibilography; the type of thinking involved was alien to them. An intro to programming would have probably helped a great deal. ----- Watch me pull a habit out of my rat. Gary Godfrey - ACT, Reston, VA Phone: (703)471-9433 UUCP: ..!{mimsy,sundc}!{prometheus,hqda-ai}!yendor!gmg
tlh@cs.purdue.EDU (Thomas L. Hausmann) (04/06/88)
In article <8538@eleazar.Dartmouth.EDU>, hugo@eleazar.Dartmouth.EDU (Peter Su) writes: > In article <607@imagine.PAWL.RPI.EDU> jefu@pawl23.pawl.rpi.edu (Jeffrey Putnam) writes: > >But then, i am coming to believe that a programming course should be > >required of _all_ students - including humanities students and all. > But, aside from that issue, I think a straight prgramming class is next to > worthless for many Humanties and fine art students. > Pete I agree, straight programming is of little use to most H&FA students. However, most "Computers in Society" courses are trivial if you can think and read. There should be some programming but it should be CLEARLY de-emphasized. ------------------------------------------------------------------------------- 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.
tlh@cs.purdue.EDU (Thomas L. Hausmann) (04/06/88)
In article <1666@ur-tut.UUCP>, msir_ltd@ur-tut (Mark Sirota) writes: > In article <8538@eleazar.Dartmouth.EDU> hugo@eleazar.Dartmouth.EDU (Peter Su) writes: > > But, aside from that issue, I think a straight prgramming class is next to > > worthless for many Humanties and fine art students. What they need is > > I agree. Not everyone needs to know how to program, but everyone should > Couldn't it be that > forced programming will change the way these people think, and therefore > possibly hinder their skills in their chosen area? Does anyone know of > any evidence to support or disprove this? > Mark Sirota I present no evidence other than history. Philosophers and musicians in the past have been excellent mathematicians. I know of people in my department who write poetry, play the violin, etc. I really doubt that programming would cause permanent *dain bramage*. (What am I saying...?) ------------------------------------------------------------------------------- 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.
windley@iris.ucdavis.edu (Phil Windley) (04/07/88)
In article <1666@ur-tut.UUCP> msir_ltd@tut.cc.rochester.edu (Mark Sirota) writes: > [ ... some lines deleted ...] > >It occurs to me that teaching programming to those in the "creative" arts >- writing, drama, music, and the like - might be detrimental. Programming >requires a certain type of thought, very right-brained, very logical, >whereas people in these disciplines are on the other side of the brain, >and think in a more relational, intuitive manner. Couldn't it be that >forced programming will change the way these people think, and therefore >possibly hinder their skills in their chosen area? Does anyone know of >any evidence to support or disprove this? While I'm not an advocate of teaching programming to everyone, I cannot believe that teaching someone a skill that is inherently different from the ones in their normal area of study will hinder them. If this is true, perhaps we should refrain from teaching them any math at all for fear of destroying some budding Bach. Perhaps we should assign right-brained people to them at birth to perform all these tasks, so they never have to even think a single thought along those lines. It appears that the idea, in the extreme, is pretty ridiculous. When people outside the major take a CS class they should be introduced to CS topics much like when a CS student takes a music class or an economics class for general education credit. Students can be introduced to "computation" without understanding that the semicolon doesn't belong before the else in Pascal. If people outside (and inside) the discipline are ever going to understand that CS is more than what a lab technician does with the PC on his/her desk, we need this kind of class. Phil Windley Robotics Research Lab University of California, Davis
jmm@thoth30.berkeley.edu (04/07/88)
In article <1666@ur-tut.UUCP> msir_ltd@tut.cc.rochester.edu (Mark Sirota) writes: >It occurs to me that teaching programming to those in the "creative" arts >- writing, drama, music, and the like - might be detrimental. Programming >requires a certain type of thought, very right-brained, very logical, >whereas people in these disciplines are on the other side of the brain, >and think in a more relational, intuitive manner. Couldn't it be that >forced programming will change the way these people think, and therefore >possibly hinder their skills in their chosen area? Does anyone know of >any evidence to support or disprove this? I don't have any hard and fast 'evidence,' but I did have an interesting experience at an interview with Bank of America. The interview was for a programming position, but they were trying to avoid hiring CS students, on the basis that CS students in general are very poor at communicating with anything other than a computer. One of the people with whom I interviewed asked me if I was a musician. He wanted to know because it was his observation that musicians tend to make very good programmers. He thought it might be because musicians tend to be very good at recognizing how patterns fit together. And remember the stories about the code-breakers in WWII? Quite a few of them were recruited from military bands for the same reasons. And I would tend to take issue with your statement that programming is more logical than 'creative arts.' Perhaps the actual implementation of the project does require a very methodical, step-by-step methodology, but good design needs to be very creative. And there is a great deal of craft in art that requires the same type of rigid mental process that writing code does. / James Moore / | jmm@bartleby.berkeley.edu / / |--------------------------------------------| / Ma ta Gaeilge agut, / | Nil aon speis ag Ollscoile na | / scriobh i! / | California im bharulacha fein. |
jonson@unicom.UUCP (Mary D Johnson) (04/07/88)
Keywords:first languages In article <612@imagine.PAWL.RPI.EDU> jefu@pawl18.pawl.rpi.edu (Jeffrey Putnam) writes: <Stuff about using spreadsheets or other programs to teach non-CS or science oriented people from prior messages deleted> >I was thinking of either a lisp family language (to minimize syntax >woes) or something like ICON but with graphics extensions. I would >focus on graphics (given an appropriate system) or string processing - >primarily non-mathematical stuff to ease math anxiety. Graphics, >even given math anxiety, would be nice because you can _see_ what >is going on and there are some interesting things to do that are >quite accessible. String processing is of fairly general interest >as it doesnt involve math and there are some fun problems that >are also accessible. > >jeff putnam I have found that using LOGO, with an emphasis on the turtle graphics in one of the units (2 to 3 hours of class time) of the introduction to computers has been a real help in showing what computers do--that they do things in a literal fashion i.e. it does what you told it to, not what you wanted it to do. The graphics give the students a real sense of mastery over the machine--a very important point in overcoming anxiety.
ok@quintus.UUCP (Richard A. O'Keefe) (04/07/88)
In article <1666@ur-tut.UUCP>, msir_ltd@ur-tut (Mark Sirota) writes: > It occurs to me that teaching programming to those in the "creative" arts > - writing, drama, music, and the like - might be detrimental. Programming > requires a certain type of thought, very right-brained, very logical, > whereas people in these disciplines are on the other side of the brain. (a) This left-brain/right-brain thing is "Pop Sci". Certain faculties _are_ localised (notably speech), but not in the same hemisphere for all people, and where "logical thinking" lives is anybody's guess. (It is not the case that all logical thinking is verbal.) (b) The kind of thinking required for programming is BOTH logical AND creative, just like writing, drama, music, &c. (Don't confuse the art of writing beautiful programs with hacking or bit-diddling.) For what it's worth, a beautiful program and music that I enjoy arouse the same kind of pleasure in me. A well conceived data structure integrates a subroutine package the way a subject integrates a fugue. A really competent programmer has a passion for beauty as well as function in his programs. Programming is one of the creative arts, using logic as one of its tools, just as drama is one of the creative arts, using speech as one of its tools. I would go so far as to say that many programmers would benefit from courses in writing and music appreciation.
rgsmeb@abcom.ATT.COM (Michel Behna) (04/07/88)
From article <8538@eleazar.Dartmouth.EDU>, by hugo@eleazar.Dartmouth.EDU (Peter Su): > In article <607@imagine.PAWL.RPI.EDU> jefu@pawl23.pawl.rpi.edu (Jeffrey Putnam) writes: [Stuff deleted] > But, aside from that issue, I think a straight prgramming class is next to > worthless for many Humanties and fine art students. What they need is more an > illustration of how computers can be useful to them [Stuff deleted] > People should be taught that computers can be very useful in all academic > areas, and that they should not be feared and hated. Cramming Pascal down > a poor freshman's throat just guarantees one more freshman will never use > a computer again. > Pete Bravo! I believe that you have hit upon a problem in both education and industry To many understanding how a computer works is boring, tedious and irrelevant but having the computer cut down the time it takes you to do a task is more of an incentive to learn and use one maybe even understand one. Everybody likes to play games on computers but not everyone wants to program a game or even figure out how everything works. A computer is a means to an end for the rest of non-computerdom and it should be as transparent as posssible and as user-friendly( NOT that word again) as possible. The day people stop thinking of computers as computers and more as a tool will be the day that making people computer-literate is no longer necessary as by then it will have been integrated into society. -- Michel Behna Qui a eu l'idee folle "Unix is unique!" D'inventer un jour l'ecole rgsmeb@abcom.att.com C'est se sacre Charlemagne {ncsc5,codas}!abcom!rgsmeb
elg@nuchat.UUCP (Eric Green) (04/08/88)
From article <1666@ur-tut.UUCP>, by msir_ltd@ur-tut.UUCP: > In article <8538@eleazar.Dartmouth.EDU> hugo@eleazar.Dartmouth.EDU (Peter Su) writes: > It occurs to me that teaching programming to those in the "creative" arts > - writing, drama, music, and the like - might be detrimental. Programming > requires a certain type of thought, very right-brained, very logical, > whereas people in these disciplines are on the other side of the brain, > and think in a more relational, intuitive manner. Couldn't it be that > forced programming will change the way these people think, and therefore > possibly hinder their skills in their chosen area? Does anyone know of Jerry Pournelle, in his column in Byte, has noted many times that the same organizational skills needed to write a novel are similar to the ones needed to write a program. For those of you who've lived under a rock for the last 10 years, Jerry is a best-selling science fiction writer, who learned a few things here and there after he got a computer to use for word-processing his novels. Programming doesn't REALLY require a certain type of thought. It requires thought, and organizational skills. Period. In fact, one ability of many artistic types, the ability to intuitively grasp "the big picture", comes quite in handy for programming. There was a survey a few years back, whose authors found it noteworthy that many of today's best programmers are also people of above-average language skills or artistic ability. One example that pops to mind immediately is Richard Stallman, who has a PhD in Philosophy, of all things.... I mentioned that programming requires thought. Unfortunately, a large percentage of the American population is incapable of any thought more sophisticated than "duh, I wonder where I'm gonna go out Friday night when I get my paycheck from the (ad agency, factory, etc.)?". Perhaps that's why you associated artistic thinking with lack of thought. When, in fact, if you look at the top practicioners of any art, they are thoroughly grounded in theory, and have invested a lot of thought and pain into improving their art and developing a unique style of their own. -- Eric Lee Green P.O. Box 92191 Lafayette, LA 70509 uunet!nuchat!elg "I survived the Flood of '88"
jefu@pawl17.pawl.rpi.edu (Jeffrey Putnam) (04/10/88)
In article <4871@ecsvax.UUCP> hes@ecsvax.UUCP (Henry Schaffer) writes: >In article <612@imagine.PAWL.RPI.EDU>, jefu@pawl18.pawl.rpi.edu (Jeffrey Putnam) writes: >> In article <4859@ecsvax.UUCP> hes@ecsvax.UUCP (Henry Schaffer) writes: >> >In article <607@imagine.PAWL.RPI.EDU>, jefu@pawl23.pawl.rpi.edu (Jeffrey Putnam) writes: >> >> ... (among other stuff relating to my proposal that programming be taught to all incoming freshmen) > We might get into some controversy over what is a "real" programming >language - Is an object oriented programming language a "real" one - >how about hypertalk - or some of the 4GL database languages? While >I have a gut feeling that only the procedural languates are "real" >(they certainly do relate to the way computer work - they kind of >reflect it) but wonder if we shouldn't raise above that. 1/2 :-) I think an object oriented programming language like CLOS (is that what Common Loops mutated to?) with an interface to a window system where graphics can be done (X or NeWS by preference) would be close to ideal. The algorithmic nature of the beast is evident, but the advantages to inheritance would make the actual coding less tedious. Let me back off just a bit and try to explain again why i proposed a universal programming requirement and answer a couple of the questions and problems that people have brought up. My experience has been that a great part of the students in american higher education have a reasonable depth of specialized knowledge by the time they leave college and are almost completely ignorant outside their fields. There are reasons for this and they are good ones given the current cultural situation. One is certainly that universities are acting as vocational schools (even strongly academicly/research oriented schools are acting as vocational schools - where the vocation is getting research dollars (as opposed to actually doing interesting research)). However, although this probably keeps industry (more or less) content it is doing a great disservice to the students. We can see this clearly in technical programs (like CS) but it is also true in the liberal arts fields, although the training there is wider in spectrum. I think it would be of more use to all students to have more exposure to _all_ fields, including non-technical fields for technical students and technical fields for non-technical students. However, since I doubt that people who avoided algebra in high school would be able to handle a calculus (or other reasonable math) course, I think that a minimal exposure to at least a kind of mathematics can be achieved with programming. (In the best of all possible worlds, i would assume a reasonable high school background and require a real math, a real science, a real philosophy course etc). Programming is also useful (ouch!), and not just with spreadsheets. Several times in the last month or two I have talked to people with computer problems that could easily have been solved with minimal programming experience and the availability of a programming language on their machines, but that were very difficult without these. I also talked to someone who could have solved a problem easily with a product (LaTeX) that required embedding "programming" in the text but who was sufficiently frightened by programming in general to refuse to even consider it as a possible solution. (I tried to present LaTeX as something that did not require programming, but to no avail.) One of the criticisms that was proposed against a programming requirement was that left (or was it right?) brain types - the artistic ones - would somehow be sullied by having to learn programming. I dont know if i give much credence to this distinction, but i cant see how exposure to other types of discipline would harm anyone. This distinction is even rather dangerous (smacks of something like racism to me). The following statements would seem to follow (and i find them equally egregious). "Artists should never take programming courses as it might somehow make them less of an artist. "Engineers should never take writing courses as it might somehow ruin their engineering talents." Another criticism was that some poor freshman shouldnt have Pascal shoved down his throat as he might not like it and might go away hating it and avoiding it. This is a good point, but i think it reflects more on Pascal and the teaching methods used than on the idea of teaching programming. As i said before, i think graphics would be a good place to start as it does make things fun - of course it is expensive as you need a good graphics system - but it is also quite interesting and you can go a long way with it. Well, i was a math major as an undergrad and had calculus (several courses worth) and physics shoved down my throat and hated every second of both subjects. I still became a math major and did quite well once i got out of the nasty stuff (loved analysis!). Come to think of it, i also had programming (in fortran, batch, cards, IBM...) and hated it as well. I would love to manage the world in such a way that people only learned things when they wanted to, but im not sure that that is really feasible. Come to think of it, im not sure i liked much of anything my freshman year, but i think i did need to be exposed to it. I havent managed (reading this over) to explain myself at all well, but i think that to really do the problem justice would take much more time and energy and bits than im willing to put into it just now. jeff putnam jefu@pawl.rpi.edu -or- jeff_putnam%rpitsmts@itsgw.rpi.edu "People would rather believe a simple lie than the complex truth."
tlh@cs.purdue.EDU (Thomas L. Hausmann) (04/11/88)
In article <643@imagine.PAWL.RPI.EDU>, jefu@pawl17.pawl.rpi.edu (Jeffrey Putnam) writes: > In article <4871@ecsvax.UUCP> hes@ecsvax.UUCP (Henry Schaffer) writes: > (among other stuff relating to my proposal that programming be taught > to all incoming freshmen) > > We might get into some controversy over what is a "real" programming > >language - Is an object oriented programming language a "real" one - > I think an object oriented programming language like CLOS (is that > what Common Loops mutated to?) with an interface to a window system > where graphics can be done (X or NeWS by preference) would be close > to ideal. As a language intended to introduce programming to (the unwashed masses ;-)) I mean all incoming Freshman? First of all, not everyone NEEDS to program and secondly I think such a course should use a mor conventional language. > ... As i said before, i think graphics would be > a good place to start as it does make things fun - of course it is > expensive as you need a good graphics system - but it is also quite > interesting and you can go a long way with it. ... What kind of graphics are you thinking about? I doubt that a lot of departments would want to lay ot a lot of cash in equipment expenses to teach a service course. Also, how good of a graphics system are you thinking about? > jeff putnam > jefu@pawl.rpi.edu -or- jeff_putnam%rpitsmts@itsgw.rpi.edu -Tom .^.^. Tom Hausmann . O O . tlh@mordred.cs.purdue.edu ( ARPA ) . v . ...!purdue!tlh ( UUCP ) / | | \ ./ \. "Whooo do ya think you're foolin' " ______mm.mm_____ \_/
reggie@pdn.UUCP (George W. Leach) (04/12/88)
In article <643@imagine.PAWL.RPI.EDU> jefu@pawl17.pawl.rpi.edu (Jeffrey Putnam) writes: >My experience has been that a great part of the students in american >higher education have a reasonable depth of specialized knowledge by >the time they leave college and are almost completely ignorant outside >their fields. There are reasons for this and they are good ones given >the current cultural situation. One is certainly that universities >are acting as vocational schools ............ I completely agree! Certainly one is not exposed to a wide enough spectrum of knowledge in high school. The undergraduate program should meet this need. I still remember complaining about my first two years of undergraduate work in an engineering curriculum, where I only encountered two CS courses. What do I need calculus, physics, chemistry, etc... for??? Upon entering college my *only* interest was in computers. That is not a healthy attitude when one considers that I was never exposed to many other fields prior to coming to this decision. Thank God I was required to minor in another field, albeit an engineering or science field :-) -- George W. Leach Paradyne Corporation {gatech,rutgers,attmail}!codas!pdn!reggie Mail stop LF-207 Phone: (813) 530-2376 P.O. Box 2826 Largo, FL 34649-2826
posdamer@wucs2.UUCP (Jeff Posdamer) (04/13/88)
> > ... As i said before, i think graphics would be > > a good place to start as it does make things fun - of course it is > > expensive as you need a good graphics system - but it is also quite > > interesting and you can go a long way with it. ... > > What kind of graphics are you thinking about? I doubt that a lot of departments We have used simple PC graphics for this. The ability to see the program run, see obvious errors and use what has become a standard IO methodology is as important as file operations. > would want to lay ot a lot of cash in equipment expenses to teach a service > course. Also, how good of a graphics system are you thinking about? > .^.^. Tom Hausmann > . O O . tlh@mordred.cs.purdue.edu ( ARPA ) Our experience (for several years) is that including graphics output in introductory (CS and service) courses is motivating to the students, an appropriate use of the readily available PC technology and provides the students with a useful and powerful tool. Remember, CS students are students. They need as many computer based aids as other students. An anti-professional bias in CS departments can put the CS student in the bizarre situation of being LESS computer competent that their peers in the physics/chemistry/calculus/composition... classroom. Jeff Posdamer -- Jeff Posdamer, Washington University, St. Louis, MO, (314) 889-6147 posdamer@syr.wustl.edu