Is Software Engineering Inherently Different Than Other Engineering Disciplines? A Critical Analysis Of Abet Software Engineering Curriculum Guidelines

Since the 1968 NATO Conference which coined the term "software engineering", software practitioners and educators alike have been fighting an uphill battle over the right to be viewed as engineers.The Association of Computing Machinery (ACM) and the Institute of Electrical and Electronic Engineers Computer Society (IEEE-CS) joined forces to try and come to terms with the question of what exactly is software engineering?From the initial work done by the Software Engineering Education Project (SWEEP) that developed draft accreditation criteria for undergraduate degrees in software engineering (SWE) in 1998, to the Software Engineering 2004 (SE2004) report developed by the joint IEEE-CS/ACM task force which presented detailed curriculum guidelines for software engineering undergraduate degree programs, SWE educators have had the luxury of much needed guidance about what our curricula should look like.The icing on the cake took the form of Accreditation Board of Engineering and Technology (ABET) accreditation of software engineering programs by the Engineering Accreditation Commission (EAC); we finally made the cut and were being recognized as real engineers by the engineering accreditation commission, but at what price?SE2004 did an excellent job of elucidating the underpinnings of all engineering disciplines including software engineering.It also identified a number of differences between traditional engineering and software engineering, including the fact that in SWE the foundations are in computer science rather than in the natural sciences, and also that in SWE the focus is on discrete rather than continuous mathematics.SE2004 is an extremely rigorous report, consisting of 129 pages of program specific knowledge developed by our peers for improving the curricula of undergraduate software engineering programs.But as a discipline in engineering, accreditation by ABET is extremely important for program validation.However, according to ABET, the criteria for accrediting software engineering is the same as for all other engineering disciplines, except for two sentences describing program criteria specific to software engineering.If software engineering is so different than all other types of engineering, should ABET guidelines reflect more of these differences?But the real problem is that educators must choose between the advice of software engineers and the ABET guidelines.This author is positing that perhaps we should not have to make that choice.This paper will examine relevant developments that have shaped our current understanding of what constitutes software engineering; the distinct nature of the Software Engineering Education Knowledge (SEEK); how the SEEK should affect SWE curriculum development; and current ABET curricular guidelines for SWE programs.Finally, the paper will explore the conflicts that arise when trying to design SWE curricula that satisfy both masters: ABET and SE2004. History of Software Engineering EducationPeter Freeman et.al. 1 proposed the earliest framework for software engineering education (SEE).It was for graduate software engineering, and it identified a set of criteria that any SE curricula Page 12.990.