Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!rutgers!mcnc!thorin!unc!denelsbe From: denelsbe@unc.cs.unc.edu (Kevin Denelsbeck) Newsgroups: comp.edu Subject: Re: beginning language--APL Message-ID: <13351@thorin.cs.unc.edu> Date: 10 Apr 90 01:01:22 GMT References: <4900002@ux1.cso.uiuc.edu> <28729@cup.portal.com> Sender: news@thorin.cs.unc.edu Reply-To: denelsbe@unc.cs.unc.edu (Kevin Denelsbeck) Organization: University Of North Carolina, Chapel Hill Lines: 37 In article <28729@cup.portal.com> Edward_M_Cherlin@cup.portal.com writes: >The question was what should be the first language for CS and non-CS >students. I run the U.S. half of a worldwide non-profit organization >devoted to making APL the first language. For non-CS students the >rationale is that it is a math language which has been successfully >introduced in elementary school, and for CS the rationale is that it is >a math and computer language suitable for math, science, computer design, >data processing, graphics, music and more. This argument has been made >best by Prof. Alan Perlis, when be became chairman of the CS department >at Yale and made APL the first language for CS there. > APL as a first language? Sounds scary to me. Don't get me wrong -- I love the language -- but programming in APL is such a different mindset (compared to almost any other language) that I have to question whether it's a suitable basis for further development as a CS major. APL makes some things too easy (e.g. sorting, string manipulation) -- which means (to me) a deficiency in instructional value -- and doesn't treat (or treat well) topics I would consider elementary for a CS first-course, such as learning how to debug programs or working with files. Maybe it's been used successfully in elementary school, but so has Pascal, LOGO, and many others, I'm sure. I can't imagine its effects on non-CS people taking the course to fulfill a requirement. Having TAed this course at a couple of strong universities, I can say that Pascal is enough of a challenge for many of these students, especially non-science majors. Trying to help them fix a buggy APL program could be a time-consuming and confusing process for both student and TA. (Any Yale TAs out there who could comment on this?) Also, is APL used enough (in other fields and in industry) to defend its inclusion in a first course? The reason I ask is that, for many students taking the first course, the motivation is either: requirement for major (implying that the language will be used later); general requirement (gain familiarity with solving problems via computer); or, something to pad the resume with (i.e. "computer skills"). Does APL succeed here? Kev @ UNC