ACM Classification Codes
The ACM Computing Classification
System is a subject classification system for computer science
devised by the Association for Computing
Machinery. The system is comparable to the Mathematics Subject Classification in scope, aims
and structure, being used by the various ACM journals to organize
subjects by area.
(Taken from Wikipedia.)
- A.: General Literature
- A.0: GENERAL
- A.1: INTRODUCTORY AND SURVEY
- A.2: REFERENCE (e.g., dictionaries, encyclopedias, glossaries)
- A.m: MISCELLANEOUS
- B.: Hardware
- B.0: GENERAL
- B.1: CONTROL STRUCTURES AND MICROPROGRAMMING
- B.1.0: General
- B.1.1: Control Design Styles
- B.1.2: Control Structure Performance Analysis and Design Aids
- B.1.3: Control Structure Reliability, Testing, and Fault-Tolerance
- B.1.4: Microprogram Design Aids
- B.1.5: Microcode Applications
- B.1.m: Miscellaneous
- B.2: ARITHMETIC AND LOGIC STRUCTURES
- B.2.0: General
- B.2.1: Design Styles
- B.2.2: Performance Analysis and Design Aids
- B.2.3: Reliability, Testing, and Fault-Tolerance
- B.2.4: High-Speed Arithmetic
- B.2.m: Miscellaneous
- B.3: MEMORY STRUCTURES
- B.3.0: General
- B.3.1: Semiconductor Memories
- B.3.2: Design Styles
- B.3.3: Performance Analysis and Design Aids
- B.3.4: Reliability, Testing, and Fault-Tolerance
- B.3.m: Miscellaneous
- B.4: INPUT/OUTPUT AND DATA COMMUNICATIONS
- B.4.0: General
- B.4.1: Data Communications Devices
- B.4.2: Input/Output Devices
- B.4.3: Interconnections (Subsystems)
- B.4.4: Performance Analysis and Design Aids
- B.4.5: Reliability, Testing, and Fault-Tolerance
- B.4.m: Miscellaneous
- B.5: REGISTER-TRANSFER-LEVEL IMPLEMENTATION
- B.6: LOGIC DESIGN
- B.7: INTEGRATED CIRCUITS
- B.8: PERFORMANCE AND RELIABILITY
- B.8.0: General
- B.8.1: Reliability, Testing, and Fault-Tolerance
- B.8.2: Performance Analysis and Design Aids
- B.8.m: Miscellaneous
- B.m: MISCELLANEOUS
- C.: Computer Systems Organization
- C.0: GENERAL
- C.1: PROCESSOR ARCHITECTURES
- C.1.0: General
- C.1.1: Single Data Stream Architectures
- C.1.2: Multiple Data Stream Architectures (Multiprocessors)
- C.1.3: Other Architecture Styles
- C.1.4: Parallel Architectures
- C.1.m: Miscellaneous
- C.2: COMPUTER-COMMUNICATION NETWORKS
- C.2.0: General
- C.2.1: Network Architecture and Design
- C.2.2: Network Protocols
- C.2.3: Network Operations
- C.2.4: Distributed Systems
- C.2.5: Local and Wide-Area Networks
- C.2.6: Internetworking
- C.2.m: Miscellaneous
- C.3: SPECIAL-PURPOSE AND APPLICATION-BASED SYSTEMS
- C.4: PERFORMANCE OF SYSTEMS
- C.5: COMPUTER SYSTEM IMPLEMENTATION
- C.m: MISCELLANEOUS
- D.: Software
- D.0: GENERAL
- D.1: PROGRAMMING TECHNIQUES
- D.1.0: General
- D.1.1: Applicative (Functional) Programming
- D.1.2: Automatic Programming
- D.1.3: Concurrent Programming
- D.1.4: Sequential Programming
- D.1.5: Object-oriented Programming
- D.1.6: Logic Programming
- D.1.7: Visual Programming
- D.1.m: Miscellaneous
- D.2: SOFTWARE ENGINEERING
- D.2.0: General
- D.2.1: Requirements/Specifications
- D.2.2: Design Tools and Techniques
- D.2.3: Coding Tools and Techniques
- D.2.4: Software/Program Verification
- D.2.5: Testing and Debugging
- D.2.6: Programming Environments
- D.2.7: Distribution, Maintenance, and Enhancement
- D.2.8: Metrics
- D.2.9: Management
- D.2.10: Design
- D.2.11: Software Architectures
- D.2.12: Interoperability
- D.2.13: Reusable Software
- D.2.m: Miscellaneous
- D.3: PROGRAMMING LANGUAGES
- D.3.0: General
- D.3.1: Formal Definitions and Theory
- D.3.2: Language Classifications
- D.3.3: Language Constructs and Features
- D.3.4: Processors
- D.3.m: Miscellaneous
- D.4: OPERATING SYSTEMS
- D.4.0: General
- D.4.1: Process Management
- D.4.2: Storage Management
- D.4.3: File Systems Management
- D.4.4: Communications Management
- D.4.5: Reliability
- D.4.6: Security and Protection
- D.4.7: Organization and Design
- D.4.8: Performance
- D.4.9: Systems Programs and Utilities
- D.4.m: Miscellaneous
- D.m: MISCELLANEOUS
- E.: Data
- E.0: GENERAL
- E.1: DATA STRUCTURES
- E.2: DATA STORAGE REPRESENTATIONS
- E.3: DATA ENCRYPTION
- E.4: CODING AND INFORMATION THEORY
- E.5: FILES
- E.m: MISCELLANEOUS
- F.: Theory of Computation
- F.0: GENERAL
- F.1: COMPUTATION BY ABSTRACT DEVICES
- F.1.0: General
- F.1.1: Models of Computation
- F.1.2: Modes of Computation
- F.1.3: Complexity Measures and Classes
- F.1.m: Miscellaneous
- F.2: ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY
- F.2.0: General
- F.2.1: Numerical Algorithms and Problems
- F.2.2: Nonnumerical Algorithms and Problems
- F.2.3: Tradeoffs between Complexity Measures
- F.2.m: Miscellaneous
- F.3: LOGICS AND MEANINGS OF PROGRAMS
- F.3.0: General
- F.3.1: Specifying and Verifying and Reasoning about Programs
- F.3.2: Semantics of Programming Languages
- F.3.3: Studies of Program Constructs
- F.3.m: Miscellaneous
- F.4: MATHEMATICAL LOGIC AND FORMAL LANGUAGES
- F.4.0: General
- F.4.1: Mathematical Logic
- F.4.2: Grammars and Other Rewriting Systems
- F.4.3: Formal Languages
- F.4.m: Miscellaneous
- F.m: MISCELLANEOUS
- G.: Mathematics of Computing
- G.0: GENERAL
- G.1: NUMERICAL ANALYSIS
- G.1.0: General
- G.1.1: Interpolation
- G.1.2: Approximation
- G.1.3: Numerical Linear Algebra
- G.1.4: Quadrature and Numerical Differentiation
- G.1.5: Roots of Nonlinear Equations
- G.1.6: Optimization
- G.1.7: Ordinary Differential Equations
- G.1.8: Partial Differential Equations
- G.1.9: Integral Equations
- G.1.10: Applications
- G.1.m: Miscellaneous
- G.2: DISCRETE MATHEMATICS
- G.3: PROBABILITY AND STATISTICS
- G.4: MATHEMATICAL SOFTWARE
- G.m: MISCELLANEOUS
- H.: Information Systems
- H.0: GENERAL
- H.1: MODELS AND PRINCIPLES
- H.1.0: General
- H.1.1: Systems and Information Theory
- H.1.2: User/Machine Systems
- H.1.m: Miscellaneous
- H.2: DATABASE MANAGEMENT
- H.3: INFORMATION STORAGE AND RETRIEVAL
- H.3.0: General
- H.3.1: Content Analysis and Indexing
- H.3.2: Information Storage
- H.3.3: Information Search and Retrieval
- H.3.4: Systems and Software
- H.3.5: Online Information Services
- H.3.6: Library Automation
- H.3.7: Digital Libraries
- H.3.m: Miscellaneous
- H.4: INFORMATION SYSTEMS APPLICATIONS
- H.5: INFORMATION INTERFACES AND PRESENTATION (e.g., HCI)
- H.5.0: General
- H.5.1: Multimedia Information Systems
- H.5.2: User Interfaces
- H.5.3: Group and Organization Interfaces
- H.5.4: Hypertext/Hypermedia
- H.5.5: Sound and Music Computing
- H.5.m: Miscellaneous
- H.m: MISCELLANEOUS
- I.: Computing Methodologies
- I.0: GENERAL
- I.1: SYMBOLIC AND ALGEBRAIC MANIPULATION
- I.2: ARTIFICIAL INTELLIGENCE
- I.2.0: General
- I.2.1: Applications and Expert Systems
- I.2.2: Automatic Programming
- I.2.3: Deduction and Theorem Proving
- I.2.4: Knowledge Representation Formalisms and Methods
- I.2.5: Programming Languages and Software
- I.2.6: Learning
- I.2.7: Natural Language Processing
- I.2.8: Problem Solving, Control Methods, and Search
- I.2.9: Robotics
- I.2.10: Vision and Scene Understanding
- I.2.11: Distributed Artificial Intelligence
- I.2.m: Miscellaneous
- I.3: COMPUTER GRAPHICS
- I.3.0: General
- I.3.1: Hardware Architecture
- I.3.2: Graphics Systems
- I.3.3: Picture/Image Generation
- I.3.4: Graphics Utilities
- I.3.5: Computational Geometry and Object Modeling
- I.3.6: Methodology and Techniques
- I.3.7: Three-Dimensional Graphics and Realism
- I.3.8: Applications
- I.3.m: Miscellaneous
- I.4: IMAGE PROCESSING AND COMPUTER VISION
- I.5: PATTERN RECOGNITION
- I.6: SIMULATION AND MODELING
- I.6.0: General
- I.6.1: Simulation Theory
- I.6.2: Simulation Languages
- I.6.3: Applications
- I.6.4: Model Validation and Analysis
- I.6.5: Model Development
- I.6.6: Simulation Output Analysis
- I.6.7: Simulation Support Systems
- I.6.8: Types of Simulation
- I.6.m: Miscellaneous
- I.7: DOCUMENT AND TEXT PROCESSING
- I.m: MISCELLANEOUS
- J.: Computer Applications
- J.0: GENERAL
- 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
- J.m: MISCELLANEOUS
- K.: Computing Milieux
- K.0: GENERAL
- K.1: THE COMPUTER INDUSTRY
- K.2: HISTORY OF COMPUTING
- K.3: COMPUTERS AND EDUCATION
- K.3.0: General
- K.3.1: Computer Uses in Education
- K.3.2: Computer and Information Science Education
- K.3.m: Miscellaneous
- K.4: COMPUTERS AND SOCIETY
- K.5: LEGAL ASPECTS OF COMPUTING
- K.6: MANAGEMENT OF COMPUTING AND INFORMATION SYSTEMS
- K.6.0: General
- K.6.1: Project and People Management
- K.6.2: Installation Management
- K.6.3: Software Management
- K.6.4: System Management
- K.6.5: Security and Protection
- K.6.m: Miscellaneous
- K.7: THE COMPUTING PROFESSION
- K.8: PERSONAL COMPUTING
- K.m: MISCELLANEOUS