Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watnot!watmath!clyde!rutgers!seismo!ut-sally!utah-cs!shebs From: shebs@utah-cs.UUCP Newsgroups: comp.edu Subject: Re: software engineering Message-ID: <4414@utah-cs.UUCP> Date: Thu, 26-Mar-87 13:17:24 EST Article-I.D.: utah-cs.4414 Posted: Thu Mar 26 13:17:24 1987 Date-Received: Sat, 28-Mar-87 05:49:05 EST References: <340@ndsuvax.UUCP> <141@tijc02.UUCP> <1285@rti-sel.UUCP> Reply-To: shebs@utah-cs.UUCP (Stanley Shebs) Organization: PASS Research Group Lines: 59 In article <1285@rti-sel.UUCP> wfi@rti-sel.UUCP (William Ingogly) writes: >In article <141@tijc02.UUCP> djm408@tijc02.UUCP (David Marks ) writes: > >> It is my belief that computing has matured to the point that Software >>Engineering should be split off from Computer Science as separate a discipline. >>This is analogous to the split between chemistry and chemical engineering. > >Bravo! I couldn't agree more. In fact, I think the split is LONG >OVERDUE. There are, I think, a few programs in software engineering >around. For example, there's the Wang Institute for Graduate Studies >in Tyngsboro, Mass. that offers a Master's degree in software >engineering. Anyone know of any other S.E. programs? > > -- Bill Ingogly I doubt anybody disagrees that there is a distinction, and that students can follow either path, but there are some practical difficulties with the split. Most CS departments would have to be cut into two pieces. There are only a handful sufficiently large to withstand such a division. What would happen to a pure CS department of two, or an SE department of four? They would not be created in the first place, and the faculty either sent packing (bad policy) or left in the new department (very uncomfortable). Ultimately the consequence is a CS department hopelessly isolated from their source of things to think about, or an SE department out of touch with the latest research. Somebody else mentioned that "software design" should be taught instead of "software engineering". "Software engineering" has unfortunately become associated with management of large program development, and that's one of the weaknesses of the specialized SE degrees. People come out of them declaiming about how software *should* be done, but can't necessarily program their way out of a paper bag. (If the MSE degree is so great, why haven't they been producing ten times as much software as the unenlightened? Surely MSE software should have taken the computer world by storm already!) Mechanical engineers start by studying and building simple mechanisms long before learning about space shuttle project management. Interestingly, design of mechanisms in ME is considered semi-magical, and only a few people (mechackers?) really have a talent for it... So here are my two impractical proposals: 1. Broaden the meaning of "software engineering" to be any part of applied computer science. This would cut across areas like graphics, operating systems, AI, languages, and so on. At the same time, recognize that some people's work will not be easily classified into each category. 2. The largest departments should try a split on an experimental basis. Each faculty member would have to decide which way to go. Equipment and maybe space should be shared at first, perhaps splitting up later. stan shebs shebs@cs.utah.edu (Now that I've made the suggestions, it seems that the first is culturally improbable, while the second is politically impossible. But stranger things have happened - computer science at Texas A&M used to be part of the industrial engineering dept!)