ACM Computing Classification System

From Wikipedia, the free encyclopedia

The ACM Computing Classification System is a subject classification system for computer science devised by the Association for Computing Machinery. The system has gone through six revisions, the first version being published in 1964, and revised versions appearing in 1982, 1983, 1987, 1991, and the now current version in 1998.

The system is comparable to the Mathematics Subject Classification in scope, aims and structure, being used by the various ACM journals to organise subjects by area. It is hierarchically structured in four levels: three outer levels, coded by capital letters and numbers, and an uncoded fourth level of subject descriptors. Thus, for example, one branch of the hierarchy contains

I. Computing Methodologies, which contains:
I.2 Artificial Intelligence, which contains:
I.2.4 Knowledge representation formalisms and methods, which contains:
Temporal logic.

Each top-level category has two standard subcategories: "general", coded with a "0", and "miscellaneous", coded with a "m". For instance, I.0 denotes the "general" subcategory of Computing Methodologies, while I.m denotes its miscellaneous subcategory. Several subtopics are listed as uncoded subject descriptors in these standard subcategories.

[edit] The 1998 classification

The outer two levels of the 1998 classification are shown below, except for the general and miscellaneous subcategories included in every category. When possible, topics are linked to corresponding entries in Wikipedia. For the inner two levels for each of these topics, see the online 1998 ACM Computing Classification System at the ACM website.

A. General literature
A.1 Introductory and Survey
A.2 Reference
B. Hardware
B.1 Control structures and microprogramming
B.2 Arithmetic and logic structures
B.3 Memory structures
B.4 Input/output and data communications
B.5 Register-transfer-level implementation
B.6 Logic design
B.7 Integrated circuits
B.8 Performance and reliability
C. Computer systems organization
C.1 Processor architectures
C.2 Computer-communication networks
C.3 Special-purpose and application-based systems
C.4 Performance of systems
C.5 Computer system implementation
D. Software
D.1 Programming techniques
D.2 Software engineering
D.3 Programming languages
D.4 Operating systems
E. Data
E.1 Data structures
E.2 Data storage representations
E.3 Data encryption
E.4 Coding and information theory
E.5 Files
F. Theory of computation
F.1 Computation by abstract devices
F.2 Analysis of algorithms and problem complexity
F.3 Logics and meanings of programs
F.4 Mathematical logic and formal languages
G. Mathematics of Computing
G.1 Numerical analysis
G.2 Discrete mathematics
G.3 Probability and statistics
G.4 Mathematical software
H. Information Systems
H.1 Models and principles
H.2 Database management
H.3 Information storage and retrieval
H.4 Information systems applications
H.5 Information interfaces and presentation (e.g., HCI)
I. Computing Methodologies
I.1 Symbolic and algebraic manipulation
I.2 Artificial intelligence
I.3 Computer graphics
I.4 Image processing and computer vision
I.5 Pattern recognition
I.6 Simulation and modeling
I.7 Document and text processing
J. Computer Applications
J.1 Administrative data processing
J.2 Physical sciences and engineering
J.3 Life and medical sciences
J.4 Social and behavioral sciences
J.5 Arts and humanities
J.6 Computer-aided engineering
J.7 Computers in other systems
K. Computing Milieux
K.1 The computer industry
K.2 History of computing
K.3 Computers and education
K.4 Computers and society
K.5 Legal aspects of computing
K.6 Management of computing and information systems
K.7 The computing profession
K.8 Personal computing

[edit] External links