You are on page 1of 2

Software Engineering Education (SEEd)

Mark A. Ardis
School of Systems and Enterprises
Stevens Institute of Technology
Hoboken, NJ 07030 USA
mark.ardis@stevens.edu

Peter B. Henderson, Emeritus


Department of Computer Science & Software Engineering
Butler University
Indianapolis, Indiana 46208 USA
phenders@butler.edu
DOI: 10.1145/1838687.1838688
http://doi.acm.org/10.1145/1838687.1838688

Guidelines for Software Engineering Education discipline. As the field changes the guide will be updated.
Currently the guide is undergoing its first revision since its original
Summer is a good time to tune up courses and academic program publication in 2004. It is expected that new sections of the guide
curricula. This column is intended to help you find the resources will be available for public review in the next two years.
you need to get started. We will cover most of the important SWEBOK was created by a joint committee of the ACM and
recommendations and guidelines for software engineering the Computer Society and is now maintained by the Computer
education. Disclaimer: we have been involved in the creation of Society. It is often cited as the starting point for software
several of these guidelines, but we welcome your comments and engineering standards and curricula.
opinions on any of them. If you have suggestions for The current recommended guidelines for undergraduate
improvements please pass them on, especially for those guidelines software engineering education, Software Engineering 2004
that are currently under review for revision. In particular, please (SE2004), were published by a joint ACM/Computer Society task
take a few minutes to answer a short survey about the latest force in 2004 [5]. The guidelines contain an overview of Software
undergraduate software engineering education guidelines: Engineering Education Knowledge (SEEK), guidelines for
http://www.surveymonkey.com/s/CHYWNVS. curriculum delivery, suggested courses and sequences of courses,
The ACM Curricula Recommendations website [1] and the methods for adapting the guidelines for alternative curricular
IEEE Computer Society Curriculum Development website [2] structures, advice in program implementation and assessment, and
both have lots of good resources. Many of the guidelines we will a bibliography of useful software engineering resources.
discuss in this column can be found on both websites. The SEEK contains ten Knowledge Areas that were originally
One useful document that can be found there is Computing based on the SWEBOK KAs. Through extensive review and
Curricula 2005: The Overview Report [3]. This overview was modification the SEEK evolved to its current form. Unlike
developed to help educators, students and other stakeholders SWEBOK, the SEEK does not attempt to cover all of software
understand the differences between the many different academic engineering, but it does try to include all of the topics that every
computing programs, including computer science, computer student should learn in an undergraduate software engineering
engineering, information systems, information technology, and program. SEEK KAs are divided into Knowledge Units (KUs)
software engineering. It tries to answer questions such as: "What which are further divided into individual Topics. SEEK also
are these different kinds of computing degree programs? How are contains recommended levels of coverage in two forms: an
they similar? How do they differ? How can I tell what their names estimate of instructional time needed to teach each KU, and the
really mean? Which kinds of programs should our local college or expected level of student achievement for each Topic in terms of
university offer?" Bloom's taxonomy [6].
If you are interested in starting or improving a software The SE2004 guidelines are now being reviewed for needed
engineering program you should probably start with the Guide to modifications and improvements. You are encouraged to read the
the Software Engineering Body of Knowledge (SWEBOK) [4]. guidelines and participate in the review via an online survey being
SWEBOK was created to "provide a consensually validated conducted this summer [7]. If you are interested in helping us
characterization of the bounds of the software engineering make needed changes please contact Mark at the address above.
discipline and to provide a topical access to the Body of While undergraduate programs in software engineering have
Knowledge supporting that discipline." The current version of the only existed in the United States since the mid 1990s graduate
guide contains ten Knowledge Areas (KAs) within software programs were first established here in the late 1970s. The first
engineering, plus an overview of related areas, such as computer recommended graduate software engineering curriculum was
engineering and project management. published by the Software Engineering Institute in 1989 [8], and
SWEBOK has been extensively reviewed by an international many programs based their curricula on those guidelines. Just last
group of experts from industry and academia. Although some year a major revision, the Graduate Software Engineering 2009
reviewers may disagree with the inclusion of some older (GSwE2009) curriculum guidelines [9], was adopted by both the
techniques, it serves as a comprehensive taxonomy of software ACM and the Computer Society as part of their collection of
engineering, providing a standard terminology across the computing curricula. We wrote about those guidelines in an earlier
column [10]. 8. Ardis, M. and Ford, G., SEI Report on Graduate Software Engineering
Education, CMU/SEI 89-TR-21, Software Engineering Institute, Carnegie Mellon
If you are interested in including more material on software
University, June 1989.
security and assurance in your program, you may want to review <http://www.sei.cmu.edu/library/abstracts/reports/89tr021.cfm>
the products of the Software Assurance Curriculum Project [11]. 9. Pyster, A. (Ed.), Graduate Software Engineering 2009 (GSwE2009): Curriculum
In addition to a recommended graduate curriculum in software Guidelines for Graduate Degree Programs in Software Engineering, Integrated
Software & Systems Engineering Curriculum Project, Stevens Institute of
assurance, the project has developed outlines and descriptions for
Technology, September 30, 2009. <http://www.gswe2009.org>.
graduate and undergraduate courses, including recommended 10. M. Ardis and P. Henderson, Software Engineering Education (SEEd): New
courses for two-year colleges. They also have a comprehensive Graduate Software Engineering Education Guidelines, ACM SIGSOFT Software
bibliography and other useful educational resources. We wrote Engineering Notes 34(6), November 2009.
about some of these products in an earlier column [12]. <http://www.sigsoft.org/SEN/seed.html>
11. Software Engineering Institute, Software Assurance Curriculum Project,
Every curriculum in software engineering should include <http://www.cert.org/mswa/>
instruction in ethical behavior as it relates to professional practice. 12. M. Ardis and P. Henderson, Software Engineering Education (SEEd):
Both the ACM and the Computer Society have their own codes of Educating Our Students to Build Security In, ACM SIGSOFT Software
Engineering Notes 35(6), November 2010.
ethics, but the two professional societies worked together many
<http://www.sigsoft.org/SEN/seed.html>
years ago to develop a joint Software Engineering Code of Ethics 13. Software Engineering Code of Ethics and Professional Practice (Version 5.2) as
[13]. The code is divided into 8 sections, including ethical issues recommended by the ACM/IEEE-CS Joint Task Force on Software Engineering
related to: the public, clients and employers, products, judgment, Ethics and Professional Practices and jointly approved by the ACM and the IEEE-
CS as the standard for teaching and practicing software engineering.
management, profession, colleagues, and self.
<http://www.acm.org/about/se-code>
A useful collection of instructional material to use with the 14. Richard G. Epstein and Mike Melamed, "Case of the Killer Robot" Online
Software Engineering Code of Ethics is the "Case of the Killer Ethics Center for Engineering, National Academy of Engineering.
Robots" [14]. This collection of realistic (but fictitious) news <http://www.onlineethics.org/Resources/Cases/killerrobot.aspx>
articles was developed to help students explore many dimensions 15. IEEE Computer Society Certified Software Development Associate
<http://www.computer.org/portal/web/certification/csda>
of ethical issues in software development, including "programmer 16. IEEE Computer Society Certified Software Development Professional
psychology, team dynamics, user interfaces, software process <http://www.computer.org/portal/web/certification/csdp>
models, software testing, the nature of requirements, software
theft, and privacy."
Software engineering students may be interested in obtaining
professional certification, and educational programs should
consider whether their graduates could easily qualify for those
certificates. The Computer Society offers two certificates in
software engineering: the Certified Software Development
Associate (CSDA) [15] and the Certified Software Development
Professional (CSDP) [16]. The first certificate is designed for
recent graduates of software engineering programs, while the latter
is intended for more experienced software professionals. The
Computer Society website contains pointers to many useful
resources for exam preparation.
We hope this column helps you find the right guidelines to tune
up your courses and curricula. We also hope you help us update
and improve some of those guidelines. We especially hope that
you will take a few minutes to complete the SE2004 Review
Feedback Survey: http://www.surveymonkey.com/s/CHYWNVS.
Your contributions will be appreciated by many educators.
References:
1. ACM Curricula Recommendations website:
<http://www.acm.org/education/education/curricula-recommendations>
2. IEEE Computer Society Curriculum Development website:
<http://www.computer.org/portal/web/education/Curricula>
3. The Joint Task Force for Computing Curricula 2005, A cooperative project of
The Association for Computing Machinery (ACM), The Association for
Information Systems (AIS) and The Computer Society (IEEE-CS), Computing
Curricula 2005: The Overview Report, 30 September 2005.
<http://www.acm.org/education/education/curric_vols/CC2005-March06Final.pdf>
4. Guide to the Software Engineering Body of Knowledge, P. Bourque and R.
Dupuis (Eds.). IEEE Computer Society Press, 2004.
<http://www.computer.org/portal/web/swebok>
5. ACM and IEEE (ACM/IEEE Computer Society Joint Task Force on Computing
Curricula). Software engineering 2004: Curriculum guidelines for
undergraduate degree programs in software engineering, 2004.
<http://www.acm.org/education/curricula-recommendations>.
6. Bloom, B. S. (Ed.), Taxonomy of educational objectives: The classification of
Educational goals: Handbook I, cognitive domain, Longmans, 1956.
7. Software Engineering 2004 Review Feedback Survey:
<http://www.surveymonkey.com/s/CHYWNVS>

You might also like