Summary
Computing Curricula 2001
Computer Science Volume
Executive Summary
This document represents the final report of the Computing Curricula 2001 project (CC2001) -- a joint undertaking of the Computer Society of the Institute for Electrical and Electronic Engineers (IEEE-CS) and the Association for Computing Machinery (ACM) to develop curricular guidelines for undergraduate programs in computing. The report continues a long tradition of recommendations for academic programs in computing-related fields dating back to 1965, as described in Chapter 2 of the report.
This volume of the report outlines a set of recommendations for undergraduate programs in computer science. As described in Chapter 1, the CC2001 report will eventually consist of several volumes containing separate recommendations for other computing disciplines, including computer engineering, software engineering, and information systems. Those reports are each under the control of separate committees and will be published as they are completed.
Highlights of this report include the following:
- The CS body of knowledge. We have identified a body of knowledge appropriate to undergraduate computer science programs. Drawing on the structure of earlier curriculum reports, we have arranged that body of knowledge hierarchically, subdividing the field into areas, which are then broken down further into units and individual topics. An overview of the body of knowledge appears in Chapter 5.
- The CS undergraduate core. From the 132 units in the body of knowledge, we have selected 64 that represent core material, accounting for approximately 280 hours of instruction. As noted in our statement of principles in Chapter 4, we defined the core as the set of units for which there is a broad consensus that the material is essential to an undergraduate degree in computer science. The philosophy behind the definition of the core is described in more detail in Chapter 5.
- Learning objectives. For each of the units in the body of knowledge, we have developed a set of learning objectives designed to promote assessment of student achievement. These learning objectives appear as part of the detailed description of the body of knowledge in Appendix A. In addition to the individual learning objectives, Chapter 11 of the report outlines a more general set of objectives that all computer science graduates should be able to meet.
- Curriculum models. The report identifies six approaches to introductory computer science that have proven successful in practice, as described in Chapter 7. Building on that foundation, Chapter 8 offers a set of four thematic approaches for presenting the core material in intermediate-level courses. The discussion of curricular models continues in Chapter 9, which offers several models for the curriculum as a whole.
- Course descriptions. Appendix B contains detailed course descriptions for 47 courses that are part of the various curriculum models. In addition, we have identified over 80 additional advanced courses that would be appropriate for undergraduate programs.
The process of developing the report has been highly inclusive. More than 150 people have been directly involved in the focus groups established to contribute to the process. In addition, the report has been widely reviewed by academics and practitioners through a series of three public drafts. We have also held a series of feedback sessions at conferences and meetings, including the Special Interest Group on Computer Science Education symposium (SIGCSE), the Frontiers in Education conference (FIE), the World Congress on Computers and Education (WCCE), along with various smaller meetings in Europe, Asia, and various parts of the United States. These meetings have provided us with critically important feedback, which we have used to shape the final report.
![]() |
CC2001 Report
December 15, 2001 |
![]() |



