z-logo
open-access-imgOpen Access
Is Software Engineering Inherently Different Than Other Engineering Disciplines? A Critical Analysis Of Abet Software Engineering Curriculum Guidelines
Author(s) -
Sheryl Duggins
Publication year - 2020
Publication title -
2007 annual conference and exposition proceedings
Language(s) - English
Resource type - Conference proceedings
DOI - 10.18260/1-2--2530
Subject(s) - software engineering , social software engineering , computer science , software engineering process group , software requirements , curriculum , software development , systems engineering , engineering , software , software construction , programming language , psychology , pedagogy
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 Education Peter 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 must follow and a set of five content areas necessary for any software engineering (SE) degree. Revisiting SEE a decade later, Freeman 2 reported that few, if any, efforts since his earlier paper had “strategically addressed the question of where SEE is or should be headed.” He further noted that in spite of the past ten years of development in software engineering, SE was not an established part of the educational scene, nor was he aware of any master’s-level degree programs in SE at a major university. He did cite the workshops supported by the Software Engineering Institute (SEI) as a beginning for change. In February 1986, the participants of SEI‘s Software Engineering Education Workshop revised an initial version of relevant subject areas for a graduate SE degree, resulting in the report: Software Engineering Education, An Interim Report from the Software Engineering Institute published in May 1987 3 . Presenting curriculum recommendations, this report was generally viewed as the first specification for a professional Master of Software Engineering (MSE) degree. The curriculum specification identified twenty content units, and for each unit, topics were identified, aspects of those topics were listed, and educational objectives were given. But the report identified curriculum content without focusing on organizing those topics into courses. In February 1988 the SEI held a Curriculum Design Workshop 4,5 to design the first model curriculum for an MSE degree based on the specification given in the interim report. The task was to partition the identified topics into courses. Based on the report, the designed curriculum would have 10 to 12 courses, consisting of six or seven core courses, three or four advanced electives, and the remainder would be used for project work. The committee identified five subject areas that naturally divided the topics: Systems Engineering, Software Design and Specification, Implementation, Verification and Validation, and Control and Management. In an effort to provide guidance for all computer related fields, the ACM and the IEEE jointly published a broad set of curriculum guidelines, Computing Curriculum 1991, 6,7 that could be applied to any computing program. Computing Curriculum 1991 identified nine subject areas and three processes in computing. The area of interest to SEE was software methodology and engineering, which contained the following five sub-areas: fundamental problem-solving concepts, the software development process, software requirements and specifications, software design and implementation, and verification and validation. Computing Curriculum 1991 did not present detailed curriculum design, but it did reinforce the work done by the SEI workshop as the areas they decided on were similar to the five subject areas in the first MSE model curriculum. It would be a decade later before the first undergraduate software engineering model curricula was developed and disseminated.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here
Accelerating Research

Address

John Eccles House
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom