Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watnot!watmath!clyde!rutgers!husc6!ut-sally!utah-cs!shebs From: shebs@utah-cs.UUCP Newsgroups: comp.edu Subject: Re: software engineering Message-ID: <4480@utah-cs.UUCP> Date: Mon, 13-Apr-87 14:21:57 EST Article-I.D.: utah-cs.4480 Posted: Mon Apr 13 14:21:57 1987 Date-Received: Wed, 15-Apr-87 00:33:48 EST References: <340@ndsuvax.UUCP> <1986@cwruecmp.UUCP> <4428@utah-cs.UUCP> <5308@mit-eddie.MIT.EDU> <4429@utah-cs.UUCP> <12788@watnot.UUCP> Reply-To: shebs@cs.utah.edu.UUCP (Stanley Shebs) Organization: PASS Research Group Lines: 50 In article <12788@watnot.UUCP> ccplumb@watnot.UUCP (Colin Plumb) writes: >Is 100 pages large enough? I wrote 54 pages of assembler in >2 months' spare time. This was for a VAX, running Unix, neither >of which I had used more than a month and a half when I started. >(I really ought to finish the thing... it works, but there are >some bits which are ungodly ugly. That should bring it up to >*at least* a hundred pages.) Speaking as a first-year CS student, >I could conceive of writing a Unix kernel. Careful, you'll find yourself a job before the month is out! There are always going to be a few people capable of handling any programming job. Most of the arguments about engineering practice are pretty weak in such cases. All the instructor can or should do in those cases is to demand that amazing feats of programming be understandable to normal people, give the students free access to extra computing power, and let 'em rip. For better or worse, it's the "super-programmers" that produce the bulk of systems software that we use... BTW, is your 54 pages of code readable? And did you really say that you *wrote* assembler code? I can and have written plenty of assembly language, but it's not a skill I'm proud of... >There is also the opposite problem of producing an assignment >that some couldn't handle. Remember that, in order to modify >TeX, you have to know web, which means both TeX and Pascal, >and the gnumacs lisp is essentially undocumented. That's why I said "well-engineered". Web is mostly a kludge to get around OS and Pascal limitations - nobody I've worked considers it to be worthwhile in a Un*x environment. It's too bad one gets fewer academic brownie points for writing good software than for writing good textbooks... Just another thought - for something like TeX that's not so easy to modify, have the students explain an obscurity or justify a limitation. Lots of room for essay-type problems, especially on tests! >If you want something really funny to think about, consider that >neither TeX nor GNU emacs are big enough to be true tests of >software engineering. After all, experience proves that they >aren't too big to be written by just one person... I believe the ratio is more important than absolute size. An upper-level SE course should definitely work with systems in the million-line range, but non-proprietary ones are hard to come by... > -Colin Plumb (watmath!watnot!ccplumb) stan shebs shebs@cs.utah.edu