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)