From Awareness to Action - Page 4 of 20

2.0 Background

Computing Curricula 1991 (CC91) was developed by a joint task force of the ACM and the IEEE Computer Society as a framework for the current iteration of the computer science curriculum. It provided a definition for the discipline of computer science as a hybrid of mathematics, science and engineering. It also provided a new definition for computer science education in terms of three processes, nine core subject areas, twelve recurring concepts that cut across the subject areas, and a social and professional context [1, 23].

1.Computing Curricula 1991

According to CC91, the three processes of computer science are characterized as theory (derived from its mathematical roots), abstraction (derived from its scientific roots), and design (derived from its engineering roots). The nine core subject areas are algorithms and data structures, architecture, artificial intelligence and robotics, database and information retrieval, human-computer communication, numerical and symbolic computations, operating systems, programming languages, and software methodology and engineering. The twelve recurring concepts are binding, complexity of large problems, conceptual and formal models, consistency and completeness, efficiency, evolution, levels of abstraction, ordering in space, ordering in time, reuse, security, and tradeoffs and consequences.

The area of social, ethical and professional issues was not well-defined as a separate subject area in CC91. Instead, it was characterized as a context within which the rest of the curriculum would sit that included the historical and social context of computing, responsibilities of the computing professional, risk and reliability, and issues related to intellectual property. It is also significant to note that of the twelve recurring concepts that cut across the content areas of computer science, six of them (reuse, security, tradeoffs and consequences, evolution, complexity of large problems, and consistency and completeness) are intimately linked to an awareness of the social context in which technology is used. Understanding the social and ethical context of computing is considered central to the knowledge needed by a qualified graduate of a computer science program. However, CC91 fell short of providing sufficient detail and guidelines about how to implement this within the curriculum.