Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site opus.UUCP Path: utzoo!linus!vaxine!wjh12!genrad!decvax!harpo!ihnp4!houxm!hogpc!houti!ariel!vax135!floyd!cmcl2!seismo!hao!cires!nbires!opus!rcd From: rcd@opus.UUCP Newsgroups: net.lang Subject: Re: Discouraging "GOTO"s in introductory computer courses Message-ID: <521@opus.UUCP> Date: Fri, 25-May-84 02:31:07 EDT Article-I.D.: opus.521 Posted: Fri May 25 02:31:07 1984 Date-Received: Mon, 28-May-84 05:44:24 EDT References: <820@sdcsvax.UUCP> Organization: NBI, Boulder Lines: 27 How well you can avoid taching about GOTOs depends a lot on what language you're teaching. I've taught intro with Pascal, and I was able to defer it for about 2/3 of the course, but only with careful choice of examples and problems. Pascal is weak in two areas: It lacks any sort of loop exit, and it doesn't have McCarthy (short-circuit) conditionals. Lack of procedure exit is also a problem that begets GOTOs, but that's not as serious in an intro course. Two points which you need to understand about teaching intro, as compared to doing real programming: - you've got to deal with (and hopefully try to repair) brain damage caused by exposure to BASIC. An increasing number of incoming college students are learning to code without learning anything much about programming. - when teaching, you can afford to (and often must) take a position more dogmatic than you really believe. The idea is that if you take a position two standard deviations out, you may get your students out one S.D. in the right direction. Would it have been better to teach C (assuming other circumstances had been equally favorable to C and Pascal)? I think not. C is ok for an experienced programmer; it's fine for an assembly-language hacker (taken in the non-pejorative sense) who's in a hurry; it lacks the constraints I think are needed to guide a novice. -- ...Stop to smell the flowers. Dick Dunn {hao,ucbvax,allegra}!nbires!rcd (303) 444-5710 x3086