tonyw@ide.UUCP (Tony Wasserman) (11/27/89)
Ken Ritchie <netxcom!netxdev!kcr@uunet.uu.net> remembered that many of these issues around computer science education vs. software engineering education have been discussed for quite a long time. He recalled some of the work that I did in the late 1970's: > As I recall, he [Tony Wasserman] described a 5-faceted program of > inter-disciplinary studies (or competency) -- one of which was > computer science (CS). and offered to dig out the references. Let me try to help: Here are five references on software engineering education from that era. Wasserman, A.I. and P. Freeman (eds.), Software Engineering Education: Needs and Objectives. New York: Springer Verlag, 1976. Freeman, P., A.I. Wasserman, and R. Fairley, "Essential Elements of Software Engineering Education," Proc. 2nd Int'l Conf. on Software Engineering, 1976, pp. 116-122. Wasserman, A.I. and P. Freeman, "Software Engineering Concepts and Computer Science Curricula," Computer, vol. 10, no. 6 (June, 1977), pp. 85-91. Wasserman, A.I. and P. Freeman, "Software Engineering Education: Status and Prospects," Proceedings of the IEEE, vol. 66, no. 8 (August, 1978), pp. 886-892. Freeman, P. and A.I. Wasserman, "A Proposed Curriculum for Software Engineering Education," Proc. 3rd Int'l Conf. on Software Engineering, 1978, pp. 56-62. The first one is the proceedings of a university-industry workshop held in February 1976 to describe approaches, issues, and problems in software engineering education. It may still be available. People who have also seen the proceedings of the more recent SEI workshops on software engineering education (edited by Norm Gibbs and also published by Springer Verlag) will note that there is very little new ground there. The second article defines the five disciplines that comprise an education in software engineering. We termed these areas computer science management science communication skills problem solving design methodology The basic idea was very simple -- education in software engineering required material that was not (and still is not) available in computer science and information systems curricula. Looking back on this list, it still looks pretty reasonable to me, but of course I'm biased. The same problems still exist, in that computer science curricula focus on foundations of computer science and development of individual programming skills. All of that is valuable, indeed essential, to being a good software engineer. But now there is the issue of added value -- to build on the foundation in computer science to produce individuals who are capable of analyzing complex problems, designing solutions, and following an organized software development process to create a system. An entry-level software engineer is a member of a group and must work with that group and with outsiders (customers, QA, etc.). A more experienced software engineer must be able to manage the group and to estimate/allocate all of the resources needed to build the system. That's where these other disciplines come in. The other articles expand on these themes and the last is even so bold as to propose a real curriculum. This proposal had some influence on the development of an IEEE CS curriculum for an MS in Software Engineering, as well as on the original curriculum of the Wang Institute. As a professor, I taught software engineering classes from 1975 through 1987. Although we used group projects and emphasized analysis and design, I would characterize the courses as "software engineering appreciation" rather than true software engineering, which is infeasible in the academic setting. As founder and president of Interactive Development Environments (IDE), I now have a different perspective on the same set of issues. Over the years, we have found growing demand for education on software development methods, not just on our tools (Software through Pictures). The pragmatic need for a software engineering process, combined with an academic appreciation of the issues, provides a good setting in which to do very practical software engineering education. IDE offers a series of such courses. After all these years, I am pretty tired of this general area of discussion, and don't promise to participate in further discussion on this topic. My main concern these days is to improve the methods and processes of software engineering, and to develop tools and training in support of those methods and processes. Tony Wasserman Interactive Development Environments 595 Market Street, 12th floor San Francisco, CA 94105 Tel: 1 + 415 543 0900 Fax: 1 + 415 543 3716 Email: tonyw@ide.com or ide!tonyw@uunet.uu.net soft-eng@mwunix.mitre.org