Software Engineering 2014 Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering a volume of the Computing Curricula Series

Download 1.43 Mb.
Size1.43 Mb.
  1   2   3   4   5   6   7   8   9   ...   35

Software Engineering 2014

Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering
A Volume of the Computing Curricula Series

23 February 2015

Joint Task Force on Computing Curricula

IEEE Computer Society

Association for Computing Machinery
This document was developed through an effort originally commissioned by the ACM Education Board and the IEEE-Computer Society Educational Activities Board to create curriculum recommendations in several computing disciplines: computer science, computer engineering, software engineering and information systems. Other professional societies have joined in a number of the individual projects. Such was the case for the SE2004 (Software Engineering 2004) project, which included participation by representatives from the Australian Computer Society, the British Computer Society, and the Information Processing Society of Japan.

SE2004 Development Process

The SE2004 project was driven by a Steering Committee appointed by the sponsoring societies. The development process began with the appointment of the Steering Committee co-chairs and a number of the other participants in the fall of 2001. More committee members, including representatives from the other societies were added in the first half of 2002. The following are the members of the SE2004 Steering Committee:


Rich LeBlanc, ACM, Georgia Institute of Technology, U.S.

Ann Sobel, IEEE-CS, Miami University, U.S.

Knowledge Area Chair

Ann Sobel, Miami University, U.S.

Pedagogy Focus Group Co-Chairs

Mordechai Ben-Menachem, Ben-Gurion University, Israel

Timothy C. Lethbridge, University of Ottawa, Canada


Jorge L. Díaz-Herrera, Rochester Institute of Technology, U.S.

Thomas B. Hilburn, Embry-Riddle Aeronautical University, U.S.

Organizational Representatives

ACM: Andrew McGettrick, University of Strathclyde, U.K.

ACM SIGSOFT: Joanne M. Atlee, University of Waterloo, Canada

ACM Two-Year College Education: Elizabeth K. Hawthorne, Union County College, U.S.

Australian Computer Society: John Leaney, University of Technology Sydney, Australia

British Computer Society: David Budgen, Keele University, U.K.

Information Processing Society of Japan: Yoshihiro Matsumoto, Musashi Institute of Technology, Japan

IEEE-CS Technical Committee on Software Engineering: J. Barrie Thompson, University of Sunderland, U.K.

SE2014 Revision Process

This updated version of the curriculum guidelines was created by a joint effort of the ACM and the IEEE-Computer Society:

IEEE CS Delegation

ACM Delegation

Mark Ardis, Chair (Stevens Institute)

David Budgen (University of Durham)

Greg Hislop (Drexel University)

Jeff Offutt (George Mason University)

Mark Sebern (Milwaukee School of Engineering)

Willem Visser (University of Stellenbosch)


The National Science Foundation, the Association of Computing Machinery, and the IEEE Computer Society have supported the development of this document and its predecessor, SE2004.
We thank the many reviewers and technical experts who provided feedback and advice for this update, starting with those who contributed suggestions for improvements to SE2004. An online anonymous survey on that subject yielded 477 responses from software engineering educators and practitioners in 42 different countries. In addition to those participants we thank Jo Atlee and Renee McCauley for their assistance in assessing and planning the revision effort that followed.
We thank the many participants at workshops and feedback sessions at SIGCSE 2013, CSEE&T 2013 and ICSE 2013. Their comments were particularly helpful in confirming the revisions that had already been made, and in suggesting additional improvements that we have incorporated into the final document.
We are especially thankful for the extensive comments offered by expert reviewers Dennis Frailey, Tom Hilburn, Rich LeBlanc, Andrew McGettrick and Nancy Mead. We thank Steve Chenoweth from Rose-Hulman Institute of Technology, Sarah Lee from Mississippi State University, and Frank Tsui of Southern Polytechnic State University for providing examples of software engineering courses and curricula. We hope that this collection of examples will grow larger on the accompanying website provided by the ACM Education Board. We are grateful for the expert assistance provided by the IEEE-CS Technical Publications staff in producing a more coherent and consistent document.
Finally, we thank the members of the ACM and IEEE-CS education boards who supported this effort, especially Andrew McGettrick from the Association for Computing Machinery and Tom Hilburn from the IEEE Computer Society who initiated the project.

Table of Contents

Preface 2

Acknowledgements 4

Chapter 1.Introduction 6

Purpose of this Volume 6

Where This Volume Fits in the Computing Curriculum Context 6

Development Process of the SE 2014 Volume 7

Changes from the Previous Version 7

Structure of the Volume 8

The Software Engineering Discipline 9

Defining Software Engineering 9

1.The Evolution of Software Engineering 11

The Reference Disciplines for Software Engineering 13

B.3.Engineers emphasize the use of a disciplined process when creating and implementing designs and can operate effectively as part of a team in doing so. 14

B.4.Engineers can have multiple roles: research, development, design, production, testing, construction, operations, and management in addition to others such as sales, consulting, and teaching. 14

B.5.Engineers use tools to apply processes systematically. Therefore, the choice and use of appropriate tools is a key aspect of engineering. 14

B.6.Engineers, via their professional societies, advance by the development and validation of principles, standards, and best practices. 14

B.7.Engineers reuse designs and design artifacts. 14

Professional Practice 16

Foundations and Related Work 18

Guiding Principles 19

Expected Student Outcomes 19

SE 2014 Principles 20

SE 2014 Goals for the Guidelines 22

Overview of Software Engineering Education Knowledge 23

Process of Determining the SEEK 23

Knowledge Areas, Units, and Topics 23

Core Material 23

Unit of Time 24

Relationship of the SEEK to the Curriculum 24

Selection of Knowledge Areas 25

SE Education Knowledge Areas 25

Computing Essentials 27

Mathematical and Engineering Fundamentals 28

Professional Practice 29

Software Modeling and Analysis 30

Requirements Analysis and Specification 30

Software Design 31

Software Verification and Validation 32

Software Process 33

Software Quality 34

Security 35

Guidelines for SE Curriculum Design and Delivery 37

Developing and Teaching the Curriculum 37

Constructing the Curriculum 38

Attributes and Attitudes That Should Pervade the Curriculum and Its Delivery 40

General Strategies for Software Engineering Pedagogy 46

Concluding Comment 49

Designing an Undergraduate Degree Program 50

Factors to Consider When Designing a Degree Program 50

The Capstone Project 54

Patterns for Delivery 55

Adaptation to Alternative Environments 57

Alternate Teaching Environments 57

Issues Related to Alternate Institutional Models 59

Programs for Associate-Degree Granting Institutions in the United States and Community Colleges in Canada 61

Program Implementation and Assessment 62

Curriculum Resources and Infrastructure 62

Assessment and Accreditation Issues 63

SE in Relation to Other Computing-Related Disciplines 64

References 65

B.23.Curriculum Examples 68

B.23.Curriculum Examples 68

B.24.Mississippi State University 69

B.24.Mississippi State University 69

B.25.Rose-Hulman Institute of Technology 75

B.25.Rose-Hulman Institute of Technology 75

B.26.Course Examples 82

B.26.Course Examples 82

B.27.Management of Software Projects (MSU) 83

B.28.Software Requirements Engineering (RHIT) 85

B.29.Software Project Management (RHIT) 92

B.30.Formal Methods (RHIT) 97

B.31.Software Design (RHIT) 101

B.32.Software Construction & Evolution (RHIT) 107

B.33.Software Quality Assurance (RHIT) 113

B.34.Software Architecture (RHIT) 117

B.35.Software Testing and Quality Assurance (SPSU) 122

Download 1.43 Mb.

Share with your friends:
  1   2   3   4   5   6   7   8   9   ...   35

The database is protected by copyright © 2022
send message

    Main page