|
|||||
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
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
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
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
Table of Contents:
|
|||||