Path: utzoo!mnetor!uunet!husc6!ut-sally!utah-cs!defun.utah.edu!shebs From: shebs%defun.utah.edu.uucp@utah-cs.UUCP (Stanley T. Shebs) Newsgroups: comp.software-eng Subject: Re: American Programmer Message-ID: <5367@utah-cs.UUCP> Date: 23 Mar 88 21:51:49 GMT References: <555@psu-cs.UUCP> <1434@ur-tut.UUCP> <3415@bunker.UUCP> <5359@utah-cs.UUCP> <36845UH2@PSUVM> Sender: news@utah-cs.UUCP Reply-To: shebs%defun.utah.edu.UUCP@utah-cs.UUCP (Stanley T. Shebs) Organization: PASS Research Group Lines: 24 In article <36845UH2@PSUVM> UH2@PSUVM.BITNET (Lee Sailer) writes: >[...] Imagine this freshman programming >course---start with data flow diagrams, strucutre charts, and walk-throughs--- >add egoless programming---teach symbolic debuggers and syntax directed editors >from day one. Sounds good to me... The main objection that comes to mind is the increased volume of material. If you go to a simpler language like Scheme (flame flame) then you would have to spend less time on random syntax and semantics. Another thought that comes to mind is that courses of study in many disciplines are extremely long, lasting perhaps several years before the students are ready to do things on their own (think about when EEs do their first nontrivial circuit designs). In CS, it seems to be assumed that one intro course and one data structures course makes an educated programmer, and everything after that can be electives. On the other hand, while I "know" that students should understand the theory of sorted algebras before writing an abstract data type, I don't "feel" that so much theory is essential to training professional software engineers. A dilemma... stan shebs shebs@cs.utah.edu