Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!ut-sally!husc6!mit-eddie!uw-beaver!fluke!ssc-vax!dickey From: dickey@ssc-vax.UUCP (Frederick J Dickey) Newsgroups: comp.edu Subject: Re: software engineering Message-ID: <1188@ssc-vax.UUCP> Date: Wed, 15-Apr-87 15:16:22 EST Article-I.D.: ssc-vax.1188 Posted: Wed Apr 15 15:16:22 1987 Date-Received: Sun, 19-Apr-87 05:33:11 EST References: <340@ndsuvax.UUCP> <1986@cwruecmp.UUCP> <4428@utah-cs.UUCP> <4429@utah-cs.UUCP> Organization: Boeing Aerospace Corp., Seattle WA Lines: 26 Summary: learning by reading code > > When I said "large", I meant something over 100 pages of source. If the > students can even *conceive* of writing it themselves, it's not big > enough. The idea is that the students will depend on documentation > and comments and organization to be able to *find* the places to tweak, > let alone change them. This of course presupposes a piece of code > sufficiently well-engineered to unleash on the students... When I was a student at Ohio State, I took a course whose assignments involved a brain-damaged assembler. The assignments were to unbrain-damage the assembler by adding various features. I found out that I could do this without having any idea of how the assembler worked. I also had a job for awhile where I maintained a Fortran compiler. I made several fixes to the compiler without ever figuring out how it worked. I know that my fixes worked because I was where the people who used it could come and shoot me if it didn't. I'm still alive. Consider an analogy with reading and writing. Most people can read. That seems to be a fairly easy skill to pick up. Most people can't write (ever try to read your average tech report?). Is teaching programming like teaching reading or teaching writing? I suspect there are a lot of similarities between writing and programming. To write something, you have to know what you are going to say and how you are going to say it. To program something, you have to know what the program is supposed to do and how to do it. =======> Fred