Computing Curricula 2001
Computer Science Volume
Chapter 4
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 principles to guide our work:
- Computing is a broad field that extends well beyond the boundaries of computer science. A single report that covers only computer science cannot address the full range of issue that colleges and universities must consider as they seek to address their computing curricula. Additional reports in this series will be required to cover other computing disciplines.
- Computer science draws its foundations from a wide variety of disciplines. Undergraduate study of computer science requires students to utilize concepts from many different fields. All computer science students must learn to integrate theory and practice, to recognize the importance of abstraction, and to appreciate the value of good engineering design.
- The rapid evolution of computer science 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 review process that allows individual components of the curriculum recommendations to be updated on a recurring basis.
- Development of a computer science curriculum must be sensitive to changes in technology, new developments in pedagogy, and the importance of lifelong learning. In a field that evolves as rapidly as computer science, educational institutions must adopt explicit strategies for responding to change. Institutions, for example, must recognize the importance of remaining abreast of progress in both technology and pedagogy, subject to the constraints of available resources. Computer science education, moreover, must seek to prepare students for lifelong learning that will enable them to move beyond today's technology to meet the challenges of the future.
- 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.
- CC2001 should seek to identify the fundamental skills and knowledge that all computing students must possess. Despite the enormous breadth of computer science, there are nonetheless concepts and skills that are common to computing as a whole. CC2001 must attempt to define the common themes of the discipline and make sure that all undergraduate programs include this material.
- The required body of knowledge must be made as small as possible. As computer science has grown, the number of topics required in the undergraduate curriculum has grown as well. Over the last decade, computer science has expanded to such an extent that it is no longer possible simply to add new topics without taking others away. We believe that the best strategic approach is to reduce the number of topics in the required core so that it consists only of those topics for which there is a broad consensus that the topic is essential to undergraduate degrees. Coverage of the core is not limited to introductory courses, but will extend throughout the curriculum. At the same time, it is important to recognize that this core does not constitute a complete undergraduate curriculum, but must be supplemented by additional courses that may vary by institution, degree program, or individual student.
- CC2001 must strive to be international in scope. Despite the fact that curricular requirements differ from country to country, CC2001 is intended to be useful to computing educators throughout the world. Although it will be strongly influenced by educational practice in the United States, we will make every effort to ensure that the curriculum recommendations are sensitive to national and cultural differences so that they will be widely applicable throughout the world.
- The development of CC2001 must be broadly based. To be successful, the process of creating the CC2001 recommendations must include participation from many different constituencies including industry, government, and the full range of higher educational institutions involved in computer science education.
- CC2001 must include professional practice as an integral component of the undergraduate curriculum. These practices encompass a wide range of activites including management, ethics and values, written and oral communication, working as part of a team, and remaining current in a rapidly changing discipline. We further 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."
- CC2001 must include discussions of strategies and tactics for implementation along with high-level recommendations. Although it is important for Computing Curricula 2001 to articulate a broad vision of computing education, the success of any curriculum depends heavily on implementation details. CC2001 must provide institutions with advice on the practical concerns of setting up a curriculum by including sections on strategy and tactics along with technical descriptions of the curricular material.
As one would expect in any project of this scale, it is clear in retrospect that the CC2001 Task Force has been more successful in implementing some of these principles than we have in others. We have, for example, been less successful in terms of producing an international document than we had hoped. The structure of undergraduate degrees varies enormously around the world, to the point that it is impossible to articulate a single set of recommendations that would work throughout the world. Although we have included in Chapter 9 examples of curricular implementations designed for use in other countries, the structure of computing education in the United States has had a profound impact on the report. Similarly, we were unable to get as much feedback and involvement as we would like from industry. We do, however, see curriculum development as an ongoing process and hope that companies can become more engaged in the curriculum-development process with individual institutions.
At the same time, we believe that we have maintained our commitment to keeping the size of the core to a manageable level that nonetheless ensures that graduates have a solid foundation in the field. Moreover, we are confident that the material in Appendix A and Appendix B will provide enough detail about the underlying material and the structure of appropriate courses to be of value to curriculum planners throughout the world.