ZeePedia

INTRODUCTION

<< Table of Contents
The Software Engineering Discipline >>
img
Chapter 1: Introduction
1.1
Purpose of this Volume
The primary purpose of this volume is to provide guidance to academic institutions and
accreditation agencies about what should constitute an undergraduate software engineering
education. These recommendations have been developed by a broad, internationally based group
of volunteer participants. This group has taken into account much of the work that has been
done in software engineering education over the last quarter of a century. Software engineering
curriculum recommendations are of particular relevance, since there is currently a surge in the
creation of software engineering degree programs and accreditation processes for such programs
have been established in a number of countries.
The recommendations included in this volume are based on a high-level set of characteristics of
software engineering graduates presented in Chapter 3. Flowing from these outcomes are the two
main contributions of this document:
·  SEEK: Software Engineering Education Knowledge - what every SE graduate must know
·
Curriculum: ways that this knowledge and the skills fundamental to software engineering can
be taught in various contexts
1.2
Where we fit in the Computing Curriculum picture
In 1998, the Association for Computing Machinery (ACM) and the Computer Society of the
Institute for Electrical and Electronic Engineers (IEEE-CS) convened a joint-curriculum task
force called Computing Curricula 2001, or CC2001 for short. In its original charge, the CC2001
Task Force was asked to develop a set of curricular guidelines that would "match the latest
developments of computing technologies in the past decade and endure through the next
decade." This task force came to recognize early in the process that they--as a group primarily
composed of computer scientists--were ill-equipped to produce guidelines that would cover
computing technologies in their entirety. Over the past fifty years, computing has become an
extremely broad designation that extends well beyond the boundaries of computer science to
encompass such independent disciplines as computer engineering, software engineering,
information systems, and many others. Given the breadth of that domain, the curriculum task
force concluded that no group representing a single specialty could hope to do justice to
computing as a whole. At the same time, feedback they received on their initial draft made it
clear that the computing education community strongly favored a report that did take into
account the breadth of the discipline.
Their solution to this challenge was to continue their work on the development of a volume of
computer science curriculum recommendations, published in 2001 as the CC2001 Computer
Science volume (CCCS volume)[ACM 2001]. In addition, they recommended to their sponsoring
organizations that the project be broadened to include volumes of recommendations for the
related disciplines listed above, as well as any others that might be deemed appropriate by the
computing education community. This volume represents the work of the SE2004 (Software
SE2004 Volume ­ 8/23/2004
1
img
Engineering 2004) project and is the first such effort by the ACM and the IEEE-CS to develop
curriculum guidelines for software engineering.
In late 2002, IS 2002 - Model Curriculum and Guidelines for Undergraduate Degree Programs
in Information Systems was approved and published, having been created by a task force
chartered by the ACM, the Association for Information Systems (AIS), and the Association of
Information Technology Professionals (AITP). Additional efforts are ongoing to produce
recommended curricula for computer engineering, and information technology.
1.3
Development Process of the SE2004 Volume
The construction of this volume has centered around three major efforts that have engaged a
large number of volunteers, as well as all of the members of the Steering Committee. The first of
these efforts was the development of a set of desired curriculum outcomes and a statement of
what every SE graduate should know. The second effort involved the determination and
specification of the knowledge to be included in an undergraduate software engineering
program, the SEEK. The third effort was the construction of a set of curriculum
recommendations, describing how a software engineering curriculum, incorporating the SEEK,
could be structured in various contexts.
1.3.1
Education Knowledge Area Group
Work began on the volume in earnest in the spring of 2002 with the assignment of Education
Knowledge Area volunteers to develop an initial body of Software Engineering Education
Knowledge (SEEK). The volunteers were given an initial set of education knowledge areas, each
with a short description, and were charged to define the units and topics for each knowledge area
using the templates developed by the Steering Committee. In addition, the results of activities
undertaken at an open workshop held at CSEE&T 2002 (Conference on Software Engineering
Education & Training) [Thompson 2002], and of discussions about required curriculum
knowledge content, held at the Summit on Software Engineering Education in conjunction with
ICSE 2002 (International Conference of Software Engineering) [Thompson 2004], provided
input to the SEEK developers.
The initial work of the volunteers was incorporated in a preliminary draft of the SEEK, which
was the working document used in an NSF sponsored workshop on the SEEK, held in June
2002. This workshop brought together Education Knowledge Area group members, Steering
Committee members, leaders in software engineering education, and selected Pedagogy Focus
group members to work on the preliminary draft. The artifacts from the workshop were
subsequently refined by the Steering Committee.
A selected review of the resulting SEEK document was performed by a set of internationally
recognized software engineering experts. Their evaluations/comments where used by the
Steering Committee to produce the first official draft version of the SEEK, which was released
for public review in August 2002.
When the first review window terminated in early October 2002, the Steering Committee had
received approximately forty reviews. Each evaluation was coupled with a written response from
the Steering Committee including committee action and justification. After posting the second
SE2004 Volume ­ 8/23/2004
2
img
version of the SEEK in December 2002, another round of reviews were solicited until the
beginning of March 2003. The WGSEET (Working Group on Software Engineering Education
and Training) were instrumental in sharpening the contents of the second version of the SEEK to
best match the Pedagogy Focus group's curriculum guidelines. The WGSEET's contributions
along with the second set of evaluations has evolved the SEEK to its final version.
1.3.2
Pedagogy Focus Area Group
In October 2002, the Pedagogy Focus group began work on producing the curriculum
recommendations using the SEEK as a foundation. A Pedagogy Focus group process and work
plan was formed. Group members began work on defining the pedagogy guidelines, curriculum
models, international adaptation, and implementation environments. This information was
subsequently refined by the Steering Committee during February 2003. Reviews of this draft of
the Pedagogy Chapter occurred during a meeting of the WGSEET and at a workshop held at the
2003 Conference on Software Engineering Education & Training in March.
The preliminary draft of the Pedagogy Chapter contained the following sections:
·  Principles of Software Engineering Curriculum Design and Delivery
·  Proposed Curricula which includes curriculum models and sample courses outlining what
topics of the SEEK a particular course includes.
·  International adaptation
·  Classes of Skills and Problems that students should master, in addition to learning the
knowledge in the SEEK
·  Adaptation to alternative educational environments; e.g. two-year colleges
The curriculum models presented were developed using the SEEK, the Computer Science
Volume (CCCS), and a survey of existing bachelors degree programs. A total of 32 programs
from North America, Europe and Australia were identified and characterized to aid in this work.
A key technique to developing the models rested on identifying which SEEK topics would be
covered by reusing existing CCCS courses. The remaining SEEK material was distributed into
software engineering courses, using the existing programs as a guide.
1.3.3
Full Volume Development
In the spring and summer of 2003 additional material (introduction, guidelines and outcomes,
software engineering background, etc.) was included with the SEEK and the curriculum
components to construct a full draft of the SE2004 volume. The first review of the draft SE2004
volume was carried out at the Second Summit on Software Engineering Education held at ICSE
2003 [Thompson 2003]. The Steering Committee used input from the Summit and other informal
reviews to produce the first public draft of the full SE2004 volume, which was submitted for
review from July 2003 to September of 2003. Also, the draft was reviewed and commented on
by the ACM Education Board and the IEEE-CS Educational Activities Board. Reviewer
comments and further work by the Steering Committee resulted in the current final version of the
SE2004 volume.
SE2004 Volume ­ 8/23/2004
3
img
1.4
Structure of the Volume
Chapter 2 discusses the nature of software engineering as a discipline, depicting some of the
history of software engineering education, and explaining how these elements have influenced
the recommendations in this document. Chapter 3 presents the guiding principles behind the
development of this document. These principles were adapted from those originally articulated
by the CC2001 Task Force as they began work on what became the CCCS volume. Chapter 3
also provides the description of what every SE graduate should know. Chapter 4 presents the
body of Software Engineering Education Knowledge (the SEEK) that underlies the curriculum
guidelines and educational program designs presented in Chapters 5 and 6, respectively. Chapter
7 discusses adaptation of the curriculum recommendations in Chapter 6 to alternative
environments. Finally, Chapter 8 addresses various curriculum implementation challenges and
also considers assessment approaches.
SE2004 Volume ­ 8/23/2004
4