Xref: utzoo misc.jobs.misc:2644 comp.software-eng:1022 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!bloom-beacon!bu-cs!dartvax!sirius!tarry From: tarry@sirius.UUCP (Steve Tarry) Newsgroups: misc.jobs.misc,comp.software-eng Subject: Re: Practical Experience ( was MS CS - C binary search ) Summary: software engineering degree Message-ID: <530@sirius.UUCP> Date: 3 Feb 89 17:03:54 GMT References: <67605@ti-csl.CSNET> Organization: Northern Telecom, NSSD, Concord, NH. Lines: 62 It has long puzzled me why there are so few masters degree programs in Software Engineering and even fewer (none that I know of) bachelors programs. Consider what universities offer our engineering brethren: Students interested in research study, for example, chemistry, math, or physics; those interested in building products get a degree in, e.g., chemical engineering, electrical engineering, or civil engineering. Of course, the engineering students must learn a foundation in the underlying sciences, but they also learn how to apply science to real commercial problems. In the world of software, there would seem to be similar educational needs: Computer science for those exploring frontiers of the software art, and software engineering for (the much greater number of) people who are building software products. In article <67605@ti-csl.CSNET>, myjak@home.csc.ti.com (Michael Myjak) writes: > ...I have often wondered how well pure CS people perform at > tasks (like software engineering ?) that require a moderate (to > in-depth) level of hardware understanding. Exposure to the hardware side of computing is but *one* aspect of what distinguishes a software engineering education from a computer science education. In illustration of some other aspects, I'll mention a few of the features of the Masters of Software Engineering program that I recently completed (at the now-defunct Wang Institute of Graduate Studies): --Two years of work experience with software was required for admission; students fresh out of a B.S. program were not accepted. --Thorough grounding in computer science fundamentals (e.g, discrete math and data structures) was required. As one who got his B.S. in the Old Days, I found meeting the admissions requirements almost as valuable as the degree program itself. Then the first course in the program was APPLICATION (emphasis mine) of Formal Methods, such as classifying real problems according to complexity theory. --Group work on projects was required. In particular, instead of an individual thesis (which was not an option), one had to develop and deliver two software products with teams of fellow students. --Exposure to non-technical aspects of software development was an essential part of the degree. For example, a course in software project management was required, not to mention the lessons learned in the group projects. --There was a heavy emphasis on techniques (e.g., structured analysis vs. Jackson's methods) and tools (from spreadsheets to compiler generators). Hey, it's tough being a cheerleader for an alma mater that no longer exists! But there are other programs with a similar slant (such as at the various institutions where the former Wang Institute faculty have landed). And enterprising students can bend traditional computer science programs in this direction. Use your electives to take the courses required of "real" engineers (Electric Circuits, Thermodynamics, Statics, ...). Work as a programmer summers or between degrees or in a co-op program. Develop a program useful to others (including the users manual!) as part of your thesis. -- Steve Tarry ...dartvax.dartmouth.edu!sirius!tarry Northern Telecom, Network Supports Systems Div., Concord, N.H. (for now)