Computing Curricula 2001

-- DRAFT (March 6, 2000) --


Chapter 5
Principles

Based on our analysis of past curriculum reports and the changes in our discipline outlined in the preceding chapters, the CC2001 Task Force has articulated the following set of principles:

  1. Computing has become an extremely broad discipline that extends well beyond the traditional boundaries of computer science. Given the number of subdisciplines that have emerged from computer science in recent years, it is no longer reasonable to regard the overall computing curriculum as being essentially identical to computer science. Colleges and universities must be sensitive to the emergence of these new fields and ensure that the foundational courses in computing serve a wide audience.

  2. Despite its growing breadth, computing remains an integrated field of study that draws its foundations from many well-established disciplines. In all of its subdisciplines, computing draws on basic foundations in mathematics, science, engineering, psychology, management, and many other fields, each of which requires the integration of theory and practice. We endorse the position articulated in the CC1991 report that "mastery of the discipline includes not only an understanding of basic subject matter, but also an understanding of the applicability of the concepts to real-world problems." Particular attention must be paid in the undergraduate curriculum to the importance of laboratory work as it reinforces student mastery of concepts and their application to solving real-life problems in diverse domains.

  3. The rapid evolution of the computing discipline requires an ongoing review of the corresponding curriculum . Given the pace of change in our discipline, the process of updating the curriculum once a decade has become unworkable. The professional associations in this discipline must establish an ongoing curriculum review process that allows individual components of the curriculum to be updated on a recurring basis.

  4. CC2001 must go beyond knowledge units to offer significant guidance in terms of individual course design. Although the knowledge-unit structure used in CC1991 can serve as a useful framework, most institutions need more detailed guidance. For such institutions, CC2001 will be effective only to the extent that it defines a small set of alternative models -- preferably between two and four -- that assemble the knowledge units into reasonable, easily implemented courses. Articulating a set of well-defined models will make it easier for institutions to share pedagogical strategies and tools. It will also provide a framework for publishers who provide the textbooks and other materials for those courses.

  5. CC2001 must identify a relatively small set of core concepts and skills that are required of all computing students. Historically, the growth of the discipline has led to a parallel expansion in the computer science core. As important new topics emerge, there is a strong temptation to include them as undergraduate requirements. Over the last decade, the discipline has expanded to such an extent that it is no longer possible simply to add new topics without taking others away. Given the constraints of an undergraduate degree, it is difficult to include new topics from software engineering, human-computer interaction, networks, and graphics while retaining the traditional presentation of such classical topics as assembly language programming, compiler construction, and automata theory in the traditional way. It seems likely that the best strategic approach is to reduce the size of the required computer science core, allowing greater flexibility to include new topics and adapt the curriculum to changes as they occur. The CC2001 Task Force has agreed that "the core will consist of those topics for which there is a broad consensus that the topic is essential to undergraduate degrees that include computer science, computer engineering, and other similarly named programs." This definition is meant to encompass the essential requirements common to all undergraduate programs. At the same time, the core does not in itself constitute a complete undergraduate curriculum, but must be supplemented by additional courses that may vary by institution, field of study, or individual student.

  6. CC2001 must provide guidelines for courses beyond the required core. In addition to specifying the fundamental core of the discipline, CC2001 must provide guidelines for advanced courses that serve as technical electives in more advanced areas.

  7. CC2001 must be international in scope. The intended audience for CC2001 is not limited to the United States alone, but must instead be useful for computing professional across the world. Curricular requirements abroad are often significantly different from those in the United States.

  8. The development of CC2001 must involve significant industry participation. Most students who graduate from undergraduate computing programs take jobs in industry, often without seeking more advanced education. To ensure that graduates are properly prepared for the demands they will face in those positions, we believe it is essential to involve practitioners in the design, development, and implementation of new curricula.

  9. CC2001 must include professional practice as an integral component of the undergraduate curriculum. Because computing is an integrated discipline, it is essential for undergraduate programs to emphasize the practical aspects of the discipline along with the theoretical ones. Today, much of the practical knowledge associated with computing exists in the form of professional practices that exist in industry. To work successfully in those environments, students must be exposed to those practices as part of their education. These practices, moreover, extend beyond computing-specific skills to encompass a wide range of activities including management, ethics and values, written and oral communication, and the ability to work as part of a team.

  10. CC2001 must strive to be useful for its intended audience. In order to be useful, CC2001 must (1) support programs seeking accreditation from the Computer Science Accreditation Board (CSAB), the Accreditation Board for Engineering and Technology (ABET), and similar organizations outside the United States, (2) be sufficiently general to fulfill the needs of most computing programs with varying emphases and objectives, and (3) be flexible enough to accommodate future advances in the computing discipline in a timely fashion.

CC2001 Report
DRAFT -- March 6, 2000
This report is a working draft and does not carry
any endorsement from the sponsoring organizations