Xref: utzoo comp.edu:2381 comp.lang.misc:3199 Path: utzoo!utgpu!watmath!iuvax!purdue!decwrl!megatest!djones From: djones@megatest.UUCP (Dave Jones) Newsgroups: comp.edu,comp.lang.misc Subject: Re: Which language to teach first? Message-ID: <6729@goofy.megatest.UUCP> Date: 31 Jul 89 22:57:40 GMT References: <8514@batcomputer.tn.cornell.edu> Organization: Megatest Corporation, San Jose, Ca Lines: 49 From article <8514@batcomputer.tn.cornell.edu>, by lacey@batcomputer.tn.cornell.edu (John Lacey): ... > The math/cs board, together with the department faculty, is looking at > replacing Pascal (and perhaps the VAX) as the main programming language. So far, so good. > I would be interested in hearing from everyone about what they think of > such a move, and what language they feel is the best to use. > I have some limited experience in this matter, having taught several introduction to CS courses at the freshman and sophomore level, during a short stint as visiting prof at a medium large midwestern university. It is my considered opinion, arrived at after much thought, that it depends. [He waits for the laughter to subside...] I think there should be two courses: one for CS majors, one for non-majors. Teach the course for non-majors in a relatively high level language. Teach the course for CS majors beginning with a toy assembly language, then moving to C, and then (only then), consider LISP variants, unification languages, etc.. I don't hold with the popular notion that a beginning programmer will be ruined by understanding how computers really work, or that his brain will misfire if he finds out what the "high level" languages really do, and why. The idea that the student will "form bad habits" is specious. The student will better understand the higher constructs, having rediscovered why they were invented. I think teaching intro to CS starting with a language which has embedded lookup-tables and automatic garbage collection is very confusing to the student. > > ... > > P.S. What about comp.lang.paradigms? > I am weary with way computer jargon changes the meanings of perfectly good English words. paradigm: EXAMPLE, PATTERN; esp. an outstandingly clear or typical example or archetype. -- [Merrium] Webster's Ninth New Collegiate Dictionary Is that what you mean?