Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!pt.cs.cmu.edu!sei!rsd From: rsd@sei.cmu.edu (Richard S D'Ippolito) Newsgroups: comp.software-eng Subject: Re: Theory vs. Practice in CS Education Message-ID: <5072@ae.sei.cmu.edu> Date: 22 Nov 89 18:59:57 GMT References: <15947@bloom-beacon.MIT.EDU> <4979@ae.sei.cmu.edu> <16169@duke.cs.duke.edu> Reply-To: rsd@sei.cmu.edu (Richard S D'Ippolito) Organization: Software Engineering Institute, Pittsburgh, PA Lines: 61 In article <16169@duke.cs.duke.edu> crm@romeo.UUCP (Charlie Martin) writes: >Richard, I don't mean this to be derogatory, but this really reads like >you haven't had much exposure to engineering in the field, or for that >matter to a working engineering organization that does much of anything >BESIDES software engineering. Let's try for a little closure here -- I am a registered professional engineer with 25 years of industrial design experience, with about 40% of it in software. >While an architect is doing design, they should not be worrying about >the nail, screw, and rivet level. They certainly do worry at the beam >level, because strength and cost optimizations determine things like >maximum clear span. The way they 'worry' about those things is to use model structures where they are certain that the detail designers can fill in the detail to create an instance of the model which meets the engineering specifications. Agreed that in small firms or for small projects, the architect may fill more than one role, but that isn't the point. The problem in software is that the roles of designer and implementer have not yet been distinuished. We've got carpenters and bricklayers trying to design houses. Every programmer is now a software engineer, but you won't find an architect in the field with a hammer. >It is true that most engineering disciplines use prebuilt components >when available, but not all. Mechanical engineers will design special >components for fabrication, they just have the choice, something that >software engineers often don't (yet.) All of the components are created from known models, otherwise the engineer is doing science and not engineering. We (in our project) are giving software engineers the choices, as we are helping to develop the design-level models. >I don't think anyone is under the impression that you are learning >engineering when learning about finite state automata and the executable >models of them. This is true for you, but not for those who suggested (and still insist) here that courses in OS and compilers were good ways to learn software engineering. >I think many of us are holding that learning things >like FSA's and parsers is a useful an necessary part of a good education >in the things which ground software engineering. No problem. We agree. Rich -- When you can measure what you are speaking about, and express it in numbers, you know something about it. Lord Kelvin rsd@sei.cmu.edu -----------------------------------------------------------------------------