Path: utzoo!utgpu!water!watmath!clyde!rutgers!rochester!ritcv!mjl From: mjl@ritcv.UUCP (Mike Lutz) Newsgroups: comp.software-eng Subject: Re: American Programmer Message-ID: <309@ritcv.UUCP> Date: 28 Mar 88 02:08:21 GMT References: <555@psu-cs.UUCP> <1434@ur-tut.UUCP> <3415@bunker.UUCP> <5359@utah-cs.UUCP> <36845UH2@PSUVM> Reply-To: mjl@ritcv.UUCP (Michael Lutz) Organization: Rochester Institute of Technology, Rochester, NY Lines: 30 In article <36845UH2@PSUVM> UH2@PSUVM.BITNET (Lee Sailer) writes: > >I have been trying to make this point here. Imagine this freshman programming >course---start with data flow diagrams, strucutre charts, and walk-throughs--- >add egoless programming--- Problem: it's awfully hard to motivate freshmen (or anyone else who hasn't worked on large programming projects) of the importance of these techniques (or even what the techniques really mean). They have know experience base to fall back on; no examples to provide a context for understanding any of this. Or, as a colleague once said "We try to expose students to all of these important concepts, only to find that most of them are immune." >teach symbolic debuggers and syntax directed editors >from day one. No! no! no! If you want anyone to learn the discipline of program design, then the *last* thing you want them to have is a fancy debugging environment. That is, unless your idea of modern programming practice is to spend most of your time debugging sloppily conceived code. Make debugging easy and attractive, and I guarantee that's the message you'll send the next generation of CS grads! I'm in full agreement with Harlan Mills here - we definitely need better tools, but interactive debuggers are not in this class. Mike Lutz -- Mike Lutz Rochester Institute of Technology, Rochester NY UUCP: {allegra,seismo}!rochester!ritcv!mjl CSNET: mjl%rit@csnet-relay.ARPA