ACM Computing Classification System

General and reference

Document types

Cross-computing tools and techniques

Hardware

Printed circuit boards

Communication hardware, interfaces and storage

Integrated circuits

Very large scale integration design

Power and energy

Electronic design automation

Hardware validation

Hardware test

Robustness

Emerging technologies

Computer systems organization

Architectures

Embedded and cyber-physical systems

Real-time systems

Dependable and fault-tolerant systems and networks

Networks

Network architectures

Network protocols

Network components

Network algorithms

Network performance evaluation

Network properties

Network services

Network types

Software and its engineering

Software and its engineering

Software notations and tools

Software creation and management

Software organization and properties

Theory of computation

Models of computation

Formal languages and automata theory

Computational complexity and cryptography

Logic

Design and analysis of algorithms

Randomness, geometry and discrete structures

Theory and algorithms for application domains

Semantics and reasoning

Mathematics of computing

Discrete mathematics

Probability and statistics

Mathematical software

Information theory

Mathematical analysis

Continuous mathematics

Information systems

Data management systems

Information storage systems

Information systems applications

World Wide Web

Information retrieval

Security and privacy

Cryptography

Formal methods and theory of security

Security services

Intrusion/anomaly detection and malware mitigation

Security in hardware

Systems security

Network security

Database and storage security

Software and application security

Human and societal aspects of security and privacy

Human-centered computingFuture

Human–computer interaction

Interaction design

Collaborative and social computing

Ubiquitous and mobile computing

Visualization

Accessibility

Computing methodologies

Symbolic and algebraic manipulation

Parallel computing methodologie

Artificial intelligence

Machine learning

Modeling and simulation

Computer graphics

Distributed computing methodologies

Concurrent computing methodologies

Applied computing

Electronic commerce

Enterprise computing

Physical sciences and engineering

Life and medical sciences

Law, social and behavioral sciences

Computer forensics

Arts and humanities

Computers in other domains

Operations research

Education

Document management and text processing

Social and professional topics

Professional topics

Computing/technology policy

User characteristics

Proper nouns: people, technologies and companies

Companies

Organizations

People in computing

Technologies