Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!asuvax!ncar!boulder!ccncsu!debussy!rro From: rro@debussy.CS.ColoState.EDU (Rod Oldehoeft) Newsgroups: comp.lang.misc Subject: Re: introductory language Message-ID: <5836@ccncsu.ColoState.EDU> Date: 9 Apr 90 17:32:49 GMT References: <7300008@ux1.cso.uiuc.edu> <5978@udccvax1.acs.udel.EDU> <4147@ethz.UUCP> <1990Apr9.114303.501@helios.physics.utoronto.ca> Sender: news@ccncsu.ColoState.EDU Reply-To: rro@debussy.UUCP (Rod Oldehoeft) Organization: Colorado State University Lines: 54 In article <1990Apr9.114303.501@helios.physics.utoronto.ca> dooley@physics.utoronto.ca (Kevin Dooley) writes: >In article <4147@ethz.UUCP> mrys@bernina.ethz.ch.UUCP (Michael Rys) writes: >>In article <7300008@ux1.cso.uiuc.edu> cs290ac@ux1.cso.uiuc.edu writes: >>>I'm looking for opinions on what languages people think should >>>be taught as introduction to programming for both CS majors and >>>non-CS majors. [Deleted] >>DON'T go with C if you want to teach CS. [Deleted] >I disagree. [Deleted] In the 18 years I've been in the CS "ed biz" this question has been nearly constantly batted around, and will always continue to be. The reason has to do with the schizophrenic nature of the introductory CS course, which is in turn caused by the variety of clientele serviced. At a mortal state-assisted university, all of these people are to be found in CS 1: 1. The CS major who has some programming background, and who will succeed as a CS major. Here is an opportunity to get on with CS, so maybe a functional/object oriented/fill in your own approach is best. 2. The CS major who has no background, and who will succeed. Probably ditto, but don't forget that the student needs to learn other language tools as well. Further, the lack of background dictates choosing an "easy" language. 3. The CS major who will not succeed at CS, or will opt out for other reasons. Most of us think a useful experience should result anyway, so a widely available programming language should be taught. 4. The non-CS major who will, as a result of this experience, become a CS major. Once again, let's take the opportunity to get beyond programming to CS for this person's sake. 5. The non-CS major who will not become a CS major. Case 3 applies. Note that the correct thing to do depends on what will happen to the student _in the future_, a difficult thing to predict. All 5 categorites have nontrivial populations. Some schools have CS 1 for current majors, and another section for current non-majors. To the extent a student is in the wrong section because the future is not yet known, educational efficiency will be sacrificed. No easy answer. Rod Oldehoeft Email: rro@CS.ColoState.EDU Computer Science Department Voice: 303/491-5792 Colorado State University Fax: 303/491-2293 Fort Collins, CO 80523