ACM Computing Classification System [1998 Version]

Valid in 2006

Copyright 2006, by the Association for Computing Machinery, Inc. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee. Request permission to republish from: Publications Dept., ACM, Inc. Fax +1 (212) 869-0481 or E-mail

The 1998 Classification System (CCS) is a cumulative revision of the 1991 version of the Classification System. These changes were instituted under the guidance of Neal Coulter, chairman of the Classification Update Committee. The Committee met throughout 1996 and 1997, coordinating suggestions for changes from both the ACM community and the computing community at large. Although the 11 first-level nodes remain unchanged, more than 10 third-level nodes have been added. In addition, a few second-level nodes have been renamed. Furthermore, at the fourth, or subject descriptor, level of the tree, more than 225 new terms were added and more than 150 terms were retired. The framework for the current CCS was established in 1982 and was updated in 1983, 1987, and 1991. The 1998 CCS can be accessed here.

The philosophy that guided the Committee in the development of this Classification System is as follows:

  1. The heart of the CCS is a tree, the easiest format in which to represent a hierarchical structure in a linear publication format.
  2. The classification tree is restricted to three letter-and-number-coded levels in order that the tree be able to accurately reflect the essential structure of the discipline over an extended period.
  3. Subject descriptors (an uncoded fourth level of the tree) provide sufficient detail to cope with new developments in the field. Originally, subject descriptors were intended to change frequently; in practice, however, it is difficult to delete obsolete subject descriptors without obliterating the references to works originally classified under them. Thus, subject descriptors are a permanent part of the tree. Those marked by an asterisk have been "retired" from active usage. Users of the Classification System may still search ACM's online and CD-ROM files using the retired descriptors for items classified before the descriptor was retired. Footnotes indicate the years the items were retired.
  4. Counts of past usage of CCS index terms assisted the Update Committee in deciding which terms to retire and which sections to consider for expansion. For the 1998 update, the Committee considered changing the overall structure of the CCS to reflect the rapidly evolving discipline of computing, but the constraint of maintaining a historical search capability as mentioned in item 3 severely limited its options in this respect. The Committee decided to retain the overall structure while implementing changes at lower levels of the tree, in order to have a working CCS that is still recognizable when compared to earlier versions. A major redesign of the CCS that would reach into higher node levels is being considered for the future, however.

The tree consists of 11 first-level nodes and one or two levels under each of these. The set of children of all first and second-level nodes begins with a node General and ends with a node Miscellaneous. The first-level nodes have letter designations (A through K). The second and third levels have combination letter-and-numerical designations.

In actual classification usage, first-level nodes (like B. Hardware) are never used to classify material. For material at a general level, the General node (in this case B.0) is used instead. The General node at the first or second level can serve two purposes: it is used for papers that include broad treatments of the topic covered by its parent node (the node immediately preceding it in the tree), or it may cover several topics related to some (but not necessarily all) of its sibling nodes. For example, under K.7 The Computing Profession, the node K.7.0 General would be used to classify a general article on the computing profession, but also could be used for an article that dealt specifically with computing Occupations (K.7.1), Organizations (K.7.2) and Testing, Certification, and Licensing (K.7.3).

A set of subject descriptors is associated with most leaves of the tree (although seldom with the General and Miscellaneous leaves).

In addition to the subject descriptors printed as a part of the CCS, proper nouns or implicit subject descriptors can be included under the proper numbered node. For example, "C++" is an implicit subject descriptor under D.3.2 Language Classifications, "OS/2" is an implicit subject descriptor under D.4.0 Operating Systems, General, and "Bill Gates" and "Grace Murray Hopper" are implicit subject descriptors under K.2 History of Computing.

General Terms are a defined set of 16 words that typically apply to many areas of the field. The General Terms list is somewhat orthogonal relative to the actual tree.

Anyone interested in commenting on this CCS should email suggestions to Carol Wierzbicki, Executive Editor, or write to Carol Hutchins, c/o Computing Reviews, ACM, 1515 Broadway, 17th Floor, New York, NY 10036.