Computing Curricula 2001

The Joint Task Force on Computing Curricula
IEEE Computer Society
Association for Computing Machinery

DRAFT -- March 6, 2000

PDF version of the report

Table of Contents
 Preface
1. Introduction
2. Lessons from Past Reports
2.1  Historical background
2.2  Evaluation of Computing Curricula '91
3. Computing and Change
3.1  Technological changes
3.2  Cultural changes
4. The Expanding Scope of Computing
5. Principles
6. Defining a Curriculum
6.1  Defining the body of knowledge
6.2  Defining the pedagogical framework
7. Introductory Topics and Courses
8. Supporting Topics and Courses
9. The Computing Core
10. Professional Practices
11. Advanced Study and Undergraduate Research
12. Computing Across Curricula
13. Strategy and Tactics
14. Acknowledgments
 Bibliography
 Appendix A. CS Body of Knowledge
  Discrete Structures (DS)
  Programming Fundamentals (PF)
  Algorithms and Complexity (AL)
  Programming Languages (PL)
  Architecture (AR)
  Operating Systems (OS)
  Human-Computer Interaction (HC)
  Graphics, Visualization, and Multimedia (GR)
  Intelligent Systems (IS)
  Information Management (IM)
  Net-Centric Computing (NC)
  Software Engineering (SE)
  Computational Science (CN)
  Social, Ethical, and Professional Issues (SP)