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



Download 1.43 Mb.
Page2/35
Date09.01.2017
Size1.43 Mb.
#8545
1   2   3   4   5   6   7   8   9   ...   35


  1. Introduction

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 were originally developed by a broad, international group of volunteer participants. Software engineering curriculum recommendations are of particular relevance because the number of new software engineering degree programs continues to grow steadily 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 recommended for software engineering graduates, which are presented in Chapter 3. Flowing from these outcomes are the two main contributions of this document:

The Software Engineering Education Knowledge (SEEK): what every SE graduate must know.

Curriculum: ways this knowledge and the skills fundamental to software engineering can be taught in various contexts.

Where This Volume Fits in the Computing Curriculum Context

In 1998, the Association for Computing Machinery (ACM) and IEEE Computer Society (IEEE CS) convened a joint curriculum task force called the Computing Curricula 2001 (CC 2001). In its original charge, the CC 2001 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.” The members of this task force recognized early in the process that they, as a group primarily consisting of computer scientists, were ill-equipped to produce guidelines that would cover computing technologies in their entirety. Over the past 50 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 received on an 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 work on the development of a volume of computer science curriculum recommendations, published in 2001 as the CC 2001 Computer Science volume (CCCS volume)[IEEE 2001b]. In addition, the task force recommended to the sponsoring organizations that the project be broadened to include volumes of recommendations for the related disciplines previously listed as well as any others that might be deemed appropriate by the computing education community. In this context, this document containing curriculum guidelines for software engineering was initially developed and continues to evolve.

Development Process of the SE 2014 Volume

The first set of guidelines for software engineering curricula was published in 2004 [IEEE 2004]. In 2010, a task force was appointed by the ACM and IEEE CS to determine whether updates were needed and, if so, how much effort would be required to complete them. The task force reached out to academia, industry, and government through workshops at technical conferences and an online survey. It was determined that a small team could make the needed updates during the following year.


Once the revision team was formed, its members identified sections of the original guidelines that needed updating and started to make revisions. During this process, they continued to reach out to stakeholders through presentations and workshops at technical conferences. At one such workshop, held at the 2013 Conference on Software Engineering Education and Training, they presented an initial draft of proposed revisions to the SEEK and other areas of the curriculum guidelines. Based on the positive feedback obtained at that workshop, they continued their revisions and prepared a draft for public review in the fall of 2013. Additional revisions were made in response to feedback from that review.

Changes from the Previous Version

This new version of the curriculum guidelines shares much of the original structure of the previous version, SE2004. Chapter 2 was rewritten to reflect an improved understanding of the discipline of software engineering as it has evolved over the last ten years. The guiding principles in Chapter 3 were reordered and given tags so that they could be more easily referred to and applied. The overall structure of the SEEK in Chapter 4 remains the same, but modifications were made to reflect changes in the field. In particular, this version recognizes the emergence of alternative lifecycle process models, including those with the increased agility required in many contemporary application domains. The new version also increases the visibility of software requirements and security, as those topics have become of increasing interest and concern.


Some of the advice in later chapters of the guidelines has been simplified to remove generic instructional and curricular advice. Rather, specific topics relevant to the teaching of software engineering have been retained and updated to include recent advances in teaching technologies, such as massive open online courses (MOOCs).
Finally, a collection of example courses and curricula has been included as appendices. When SE2004 was written there were very few undergraduate software engineering programs, so examples of courses were largely speculative. In the last ten years, a significant number of programs have been initiated, providing a rich source of successful courses and curricula to share.

Structure of the Volume

Chapter 2 discusses the nature and evolution of software engineering as a discipline, identifies some of its key elements, and explains how these elements have influenced the recommendations in this document. Chapter 3 presents the guiding principles, adapted from those originally articulated by the CC 2001 Task Force, that have supported the development of these curriculum guidelines. Chapter 4 presents the body of Software Engineering Education Knowledge (SEEK) that underlies the curriculum guidelines (Chapter 5) and educational program designs (Chapter 6). Chapter 7 discusses adaptation of the curriculum guidelines to alternative environments. Chapter 8 addresses various curriculum implementation challenges and considers assessment approaches.


Following a practice adopted in the most recent version of the curriculum guidelines for undergraduate computer science programs [CS2013], the appendices of this report contain example curricula and courses from existing undergraduate software engineering programs.


Download 1.43 Mb.

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




The database is protected by copyright ©ininet.org 2024
send message

    Main page