Software engineering education: issues and alternatives

  • Authors:
  • Robert L. Baber

  • Affiliations:
  • Department of Computer Science, University of the Witwatersrand, Johannesburg, 2050 Wits, South Africa E-mail: bob@ cs.wits.ac.za

  • Venue:
  • Annals of Software Engineering - Special issue on software engineering education
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

Postgraduate degree programs in “software engineering” have been in existence for some time and now undergraduate degree programs with this title are beginning to appear. A number of questions and issues of only moderate importance with respect to the postgraduate programs now become critical and of overriding importance. While one could (and did) by and large gloss over these issues earlier, this will be much more difficult, and probably impossible, in the future. These issues must be resolved in a wider context than that in which they have been dealt with before, involving engineering in the universities and professional engineering societies in the larger social context. Much of the disagreement regarding these issues can, ultimately, be traced back to differing fundamental views and definitions of the term “engineering” and whether “software engineering” should be treated as “just” another engineering discipline or in a significantly and fundamentally different way. After examining two different definitions and views of “engineering,” this paper states and discusses a number of the questions and issues which planners of new undergraduate software engineering degree programs must deal with. Some pros and cons of various alternative answers are presented and a few answers suggested. The issues discussed here begin with questions of general policy and concept (e.g., which culture – that of the traditional engineering disciplines or that of computer science – should be instilled in the students in these new degree programs), include organizational matters (e.g., the position of the new degree program in the university hierarchy) and end with selected, more detailed questions regarding the curriculum (e.g., how to deal with programming, design and management topics). It is conjectured that, although the scientific foundation for the undergraduate software engineering degree programs must and will come from computer science, their culture and orientation must come from engineering if they and their graduates are to be successful in satisfying society’s needs in the long term.