The ACM Computing Classification System (1991)
Copyright 1997 by Association for Computing Machinery, Inc. (ACM). 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, the copyright notice, the title of publication and its date appear, and notice is given that copying is by permission of ACM, Inc. To copy otherwise, to republish, to post on servers, to implement in search and retrieval software, 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: [email protected].
The ACM Computing Classification System (1991)
- A. General Literature
- B. Hardware
- B.0 GENERAL
- B.1 CONTROL STRUCTURES AND MICROPROGRAMMING (D.3.2)
- B.1.0 General
- B.1.1 Control Design Styles
- Hardwired control
- Microprogrammed logic arrays
- Writable control store
- B.1.2 Control Structure Performance Analysis and Design Aids
- Automatic synthesis
- Formal models
- Simulation
- B.1.3 Control Structure Reliability, Testing, and Fault-Tolerance
- Diagnostics
- Error-checking
- Redundant checking
- Test generation
- B.1.4 Microprogram Design Aids (D.2.2, D.2.4, D.3.2, D.3.4)
- Firmware engineering
- Languages and compilers
- Machine-independent microcode generation
- Optimization
- Verification
- B.1.5 Microcode Applications
- Direct data manipulation
- Firmware support of operating systems/instruction sets
- Instruction set interpretation
- Peripheral control
- Special-purpose
- B.1.m Miscellaneous
- B.2 ARITHMETIC AND LOGIC STRUCTURES
- B.3 MEMORY STRUCTURES
- B.3.0 General
- B.3.1 Unassigned
- B.3.2 Design Styles (D.4.2)
- Associative memories
- Cache memories
- Interleaved memories
- Mass storage (e.g., magnetic, optical)
- Primary memory
- Sequential-access memory
- Shared memory
- Virtual memory
- B.3.3 Performance Analysis and Design Aids (C.4)
- Formal models
- Simulation
- Worst-case analysis
- B.3.4 Reliability, Testing, and Fault-Tolerance
- Diagnostics
- Error-checking
- Redundant design
- Test generation
- B.3.m Miscellaneous
- B.4 INPUT/OUTPUT AND DATA COMMUNICATIONS
- B.4.0 General
- B.4.1 Data Communications Devices
- Processors
- Receivers (e.g., voice, data, image)
- Transmitters
- B.4.2 Input/Output Devices
- Channels and controllers
- Data terminals and printers
- Image display
- Voice
- B.4.3 Interconnections (subsystems)
- Asynchronous/synchronous operation
- Fiber optics
- Interfaces
- Physical structures (e.g., backplanes, cables, chip carriers)
- Topology (e.g., bus, point-to-point)
- B.4.4 Performance Analysis and Design Aids
- Formal models
- Simulation
- Verification
- Worst-case analysis
- B.4.5 Reliability, Testing, and Fault-Tolerance
- Built-in tests
- Diagnostics
- Error-checking
- Hardware reliability
- Redundant design
- Test generation
- B.4.m Miscellaneous
- B.5 REGISTER-TRANSFER-LEVEL IMPLEMENTATION
- B.5.0 General
- B.5.1 Design
- Arithmetic and logic units
- Control design
- Data-path design
- Memory design
- Styles (e.g., parallel, pipelined, special-purpose)
- B.5.2 Design Aids
- Automatic synthesis
- Hardware description languages
- Optimization
- Simulation
- Verification
- B.5.3 Reliability and Testing
- Built-in tests
- Error-checking
- Redundant design
- Test generation
- Testability
- B.5.m Miscellaneous
- B.6 LOGIC DESIGN
- B.6.0 General
- B.6.1 Design Styles
- Cellular arrays and automata
- Combinational logic
- Logic arrays
- Memory control and access
- Memory used as logic
- Parallel circuits
- Sequential circuits
- B.6.2 Reliability and Testing
- Built-in tests
- Error-checking
- Redundant design
- Test generation
- Testability
- B.6.3 Design Aids
- Automatic synthesis
- Hardware description languages
- Optimization
- Simulation
- Switching theory
- Verification
- B.6.m Miscellaneous
- B.7 INTEGRATED CIRCUITS
- B.7.0 General
- B.7.1 Types and Design Styles
- Advanced technologies
- Algorithms implemented in hardware
- Gate arrays
- Input/Output circuits
- Memory technologies
- Microprocessors and microcomputers
- Standard cells
- VLSI (very large scale integration)
- B.7.2 Design Aids
- Graphics
- Layout
- Placement and routing
- Simulation
- Verification
- B.7.3 Reliability and Testing
- Built-in tests
- Error-checking
- Redundant design
- Test generation
- Testability
- B.7.m Miscellaneous
- B.m MISCELLANEOUS
- Design management
- C. Computer Systems Organization
- C.0 GENERAL
- Hardware/software interfaces
- Instruction set design (e.g., RISC, CISC)
- System architectures
- Systems specification methodology
- C.1 PROCESSOR ARCHITECTURES
- C.1.0 General
- C.1.1 Single Data Stream Architectures
- Multiple-instruction-stream, single-data-stream processors (MISD)
- Pipeline processors
- Single-instruction-stream, single-data-stream processors (SISD)
- Von Neumann architectures
- C.1.2 Multiple Data Stream Architectures (Multiprocessors)
- Array and vector processors
- Associative processors
- Connection machines
- Interconnection architectures (e.g., common bus, multiport memory, crossbar switch)
- Multiple-instruction-stream, multiple-data-stream processors (MIMD)
- Parallel processors
- Pipeline processors
- Single-instruction-stream, multiple-data-stream processors (SIMD)
- C.1.3 Other Architecture Styles
- Adaptable architectures
- Capability architectures
- Cellular architecture
- Data-flow architectures
- High-level language architectures
- Neural nets
- Stack-oriented processors
- C.1.m Miscellaneous
- Analog computers
- Hybrid systems
- C.2 COMPUTER-COMMUNICATION NETWORKS
- C.2.0 General
- Data communications
- Open System Interconnection reference model (OSI)
- Security and protection
- C.2.1 Network Architecture and Design
- Centralized networks
- Circuit switching networks
- Distributed networks
- ISDN (Integrated Services Digital Network)
- Network communications
- Network topology
- Packet networks
- Store and forward networks
- C.2.2 Network Protocols
- Protocol architecture
- Protocol verification
- C.2.3 Network Operations
- Network management
- Network monitoring
- Public networks
- C.2.4 Distributed Systems
- Distributed applications
- Distributed databases
- Network operating systems
- C.2.5 Local Networks
- Access schemes
- Buses
- Rings
- C.2.m Miscellaneous
- C.2.0 General
- C.3 SPECIAL-PURPOSE AND APPLICATION-BASED SYSTEMS (J.7)
- Microprocessor/microcomputer applications
- Process control systems
- Real-time systems
- Signal processing systems
- C.4 PERFORMANCE OF SYSTEMS
- Design studies
- Measurement techniques
- Modeling techniques
- Performance attributes
- Reliability, availability, and serviceability
- C.5 COMPUTER SYSTEM IMPLEMENTATION
- C.m MISCELLANEOUS
- C.0 GENERAL
- D. Software
- D.0 GENERAL
- D.1 PROGRAMMING TECHNIQUES (E)
- D.2 SOFTWARE ENGINEERING (K.6.3)
- D.2.0 General (K.5.1)
- Protection mechanisms
- Standards
- D.2.1 Requirements/Specifications (D.3.1)
- Languages
- Methodologies
- Tools
- D.2.2 Tools and Techniques
- Computer-aided software engineering (CASE)
- Decision tables
- Flow charts
- Modules and interfaces
- Petri nets
- Programmer workbench
- Software libraries
- Structured programming
- Top-down programming
- User interfaces
- D.2.3 Coding
- Pretty printers
- Program editors
- Reentrant code
- Standards
- D.2.4 Program Verification (F.3.1)
- Assertion checkers
- Correctness proofs
- Reliability
- Validation
- D.2.5 Testing and Debugging
- Code inspections and walk-throughs
- Debugging aids
- Diagnostics
- Dumps
- Error handling and recovery
- Monitors
- Symbolic execution
- Test data generators
- Tracing
- D.2.6 Programming Environments
- Interactive
- D.2.7 Distribution and Maintenance
- Corrections
- Documentation
- Enhancement
- Extensibility
- Portability
- Restructuring
- Version control
- D.2.8 Metrics (D.4.8)
- Complexity measures
- Performance measures
- Software science
- D.2.9 Management (K.6.3, K.6.4)
- Copyrights
- Cost estimation
- Life cycle
- Productivity
- Programming teams
- Software configuration management
- Software quality assurance (SQA)
- Time estimation
- D.2.10 Design
- Methodologies
- Representation
- D.2.m Miscellaneous
- Rapid prototyping
- Reusable software
- D.2.0 General (K.5.1)
- D.3 PROGRAMMING LANGUAGES
- D.3.0 General
- Standards
- D.3.1 Formal Definitions and Theory (D.2.1, F.3.1, F.3.2, F.4.2, F.4.3)
- Semantics
- Syntax
- D.3.2 Language Classifications
- Applicative languages
- Concurrent, distributed, and parallel languages
- Data-flow languages
- Design languages
- Extensible languages
- Macro and assembly languages
- Microprogramming languages
- Nondeterministic languages
- Nonprocedural languages
- Object-oriented languages
- Specialized application languages
- Very high-level languages
- D.3.3 Language Constructs and Features (E.2)
- Abstract data types
- Concurrent programming structures
- Control structures
- Coroutines
- Data types and structures
- Dynamic storage management
- Input/Output
- Modules, packages
- Procedures, functions, and subroutines
- Recursion
- D.3.4 Processors
- Code generation
- Compilers
- Interpreters
- Optimization
- Parsing
- Preprocessors
- Run-time environments
- Translator writing systems and compiler generators
- D.3.m Miscellaneous
- D.3.0 General
- D.4 OPERATING SYSTEMS (C)
- D.4.0 General
- D.4.1 Process Management
- Concurrency
- Deadlocks
- Multiprocessing/multiprogramming
- Mutual exclusion
- Scheduling
- Synchronization
- D.4.2 Storage Management
- Allocation/deallocation strategies
- Distributed memories
- Main memory
- Secondary storage
- Segmentation
- Storage hierarchies
- Swapping
- Virtual memory
- D.4.3 File Systems Management (E.5)
- Access methods
- Directory structures
- Distributed file systems
- File organization
- Maintenance
- D.4.4 Communications Management (C.2)
- Buffering
- Input/Output
- Message sending
- Network communication
- Terminal management
- D.4.5 Reliability
- Backup procedures
- Checkpoint/restart
- Fault-tolerance
- Verification
- D.4.6 Security and Protection (K.6.5)
- Access controls
- Authentication
- Cryptographic controls
- Information flow controls
- Invasive software (e.g., viruses, worms, Trojan horses)
- Security kernels
- Verification
- D.4.7 Organization and Design
- Batch processing systems
- Distributed systems
- Hierarchical design
- Interactive systems
- Real-time systems and embedded systems
- D.4.8 Performance (C.4, D.2.8, I.6)
- Measurements
- Modeling and prediction
- Monitors
- Operational analysis
- Queueing theory
- Simulation
- Stochastic analysis
- D.4.9 Systems Programs and Utilities
- Command and control languages
- Linkers
- Loaders
- Window managers
- D.4.m Miscellaneous
- D.m MISCELLANEOUS
- Software psychology
- E. Data
- E.0 GENERAL
- E.1 DATA STRUCTURES
- Arrays
- Graphs
- Lists
- Tables
- Trees
- E.2 DATA STORAGE REPRESENTATIONS
- Composite structures
- Contiguous representations
- Hash-table representations
- Linked representations
- Primitive data items
- E.3 DATA ENCRYPTION
- Data encryption standard (DES)
- Public key cryptosystems
- E.4 CODING AND INFORMATION THEORY (H.1.1)
- Data compaction and compression
- Error control codes
- Formal models of communication
- Nonsecret encoding schemes
- E.5 FILES (D.4.3, F.2.2, H.2)
- Backup/recovery
- Optimization
- Organization/structure
- Sorting/searching
- 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.4.1)
- Automata (e.g., finite, push-down, resource-bounded)
- Bounded-action devices (e.g., Turing machines, random access machines)
- Computability theory
- Relations among models
- Self-modifying machines (e.g., neural networks)
- Unbounded-action devices (e.g., cellular automata, circuits, networks of machines)
- F.1.2 Modes of Computation
- Alternation and nondetermination
- Interactive computation
- Parallelism and concurrency
- Probabilistic computation
- Relations among modes
- Relativized computation
- F.1.3 Complexity Classes (F.2)
- Complexity hierarchies
- Machine-independent complexity
- Reducibility and completeness
- Relations among complexity classes
- Relations among complexity measures
- F.1.m Miscellaneous
- F.2 ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY (B.6, B.7, F.1.3)
- F.2.0 General
- F.2.1 Numerical Algorithms and Problems (G.1, G.4, I.1)
- Computation of transforms (e.g., Fast Fourier transform)
- Computations in finite fields
- Computations on matrices
- Computations on polynomials
- Number-theoretic computations (e.g., factoring, primality testing)
- F.2.2 Nonnumerical Algorithms and Problems (E.2, E.3, E.4, E.5, G.2, H.2, H.3)
- Complexity of proof procedures
- Computations on discrete structures
- Geometrical problems and computations
- Pattern matching
- Routing and layout
- Sequencing and scheduling
- Sorting and searching
- F.2.3 Tradeoffs among Complexity Measures (F.1.3)
- 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 (D.2.1, D.2.4, D.3.1, E.1)
- Assertions
- Invariants
- Logics of programs
- Mechanical verification
- Pre- and post-conditions
- Specification techniques
- F.3.2 Semantics of Programming Languages (D.3.1)
- Algebraic approaches to semantics
- Denotational semantics
- Operational semantics
- F.3.3 Studies of Program Constructs (D.3.2, D.3.3)
- Control primitives
- Functional constructs
- Program and recursion schemes
- Type structure
- F.3.m Miscellaneous
- F.4 MATHEMATICAL LOGIC AND FORMAL LANGUAGES
- F.4.0 General
- F.4.1 Mathematical Logic (F.1.1, I.2.2, I.2.3)
- Computability theory
- Computational logic
- Lambda calculus and related systems
- Logic programming
- Mechanical theorem proving
- Model theory
- Proof theory
- Recursive function theory
- F.4.2 Grammars and Other Rewriting Systems (D.3.1)
- Decision problems
- Grammar types (e.g., context-free, context-sensitive)
- Parallel rewriting systems (e.g., development systems, L-systems)
- Parsing
- Thue systems
- F.4.3 Formal Languages (D.3.1)
- Algebraic language theory
- Classes defined by grammars or automata (e.g., context-free languages, regular sets, recursive sets)
- Classes defined by resource-bounded automata
- Decision problems
- Operations on languages
- F.4.m Miscellaneous
- F.m MISCELLANEOUS
- G. Mathematics of Computing
- G.0 GENERAL
- G.1 NUMERICAL ANALYSIS
- G.1.0 General
- Computer arithmetic
- Condition (and ill-condition)
- Error analysis
- Numerical algorithms
- Parallel algorithms
- Stability (and instability)
- G.1.1 Interpolation
- Difference formulas
- Extrapolation
- Interpolation formulas
- Smoothing
- Spline and piecewise polynomial interpolation
- G.1.2 Approximation
- Chebyshev approximation and theory
- Elementary function approximation
- Least squares approximation
- Linear approximation
- Minimax approximation and algorithms
- Nonlinear approximation
- Rational approximation
- Spline and piecewise polynomial approximation
- G.1.3 Numerical Linear Algebra
- Conditioning
- Determinants
- Eigenvalues
- Error analysis
- Linear systems (direct and iterative methods)
- Matrix inversion
- Pseudoinverses
- Sparse and very large systems
- G.1.4 Quadrature and Numerical Differentiation
- Adaptive quadrature
- Equal interval integration
- Error analysis
- Finite difference methods
- Gaussian quadrature
- Iterative methods
- Multiple quadrature
- G.1.5 Roots of Nonlinear Equations
- Convergence
- Error analysis
- Iterative methods
- Polynomials, methods for
- Systems of equations
- G.1.6 Optimization
- Constrained optimization
- Gradient methods
- Integer programming
- Least squares methods
- Linear programming
- Nonlinear programming
- G.1.7 Ordinary Differential Equations
- Boundary value problems
- Convergence and stability
- Error analysis
- Initial value problems
- Multistep methods
- Single step methods
- Stiff equations
- G.1.8 Partial Differential Equations
- Difference methods
- Elliptic equations
- Finite element methods
- Hyperbolic equations
- Method of lines
- Parabolic equations
- G.1.9 Integral Equations
- Fredholm equations
- Integro-differential equations
- Volterra equations
- G.1.m Miscellaneous
- G.1.0 General
- G.2 DISCRETE MATHEMATICS
- G.3 PROBABILITY AND STATISTICS
- Probabilistic algorithms (including Monte Carlo)
- Random number generation
- Statistical computing
- Statistical software
- G.4 MATHEMATICAL SOFTWARE
- Algorithm analysis
- Certification and testing
- Efficiency
- Portability
- Reliability and robustness
- Verification
- G.m MISCELLANEOUS
- Queueing theory
- H. Information Systems
- H.0 GENERAL
- H.1 MODELS AND PRINCIPLES
- H.2 DATABASE MANAGEMENT (E.5)
- H.2.0 General
- Security, integrity, and protection
- H.2.1 Logical Design
- Data models
- Normal forms
- Schema and subschema
- H.2.2 Physical Design
- Access methods
- Deadlock avoidance
- Recovery and restart
- H.2.3 Languages (D.3.2)
- Data description languages (DDL)
- Data manipulation languages (DML)
- Query languages
- Report writers
- H.2.4 Systems
- Concurrency
- Distributed systems
- Query processing
- Transaction processing
- H.2.5 Heterogeneous Databases
- Data translation
- Program translation
- H.2.6 Database Machines
- H.2.7 Database Administration
- Data dictionary/directory
- Logging and recovery
- H.2.8 Database Applications
- H.2.m Miscellaneous
- H.2.0 General
- H.3 INFORMATION STORAGE AND RETRIEVAL
- H.3.0 General
- H.3.1 Content Analysis and Indexing
- Abstracting methods
- Dictionaries
- Indexing methods
- Linguistic processing
- Thesauruses
- H.3.2 Information Storage
- File organization
- Record classification
- H.3.3 Information Search and Retrieval
- Clustering
- Query formulation
- Retrieval models
- Search process
- Selection process
- H.3.4 Systems and Software
- Current awareness systems (selective dissemination of information--SDI)
- Information networks
- Question-answering (fact retrieval) systems
- H.3.5 Online Information Services
- Data bank sharing
- H.3.6 Library Automation
- Large text archives
- H.3.m Miscellaneous
- H.4 INFORMATION SYSTEMS APPLICATIONS
- H.4.0 General
- H.4.1 Office Automation (I.7)
- Equipment
- Spreadsheets
- Time management (e.g., calendars, schedules)
- Word processing
- H.4.2 Types of Systems
- Decision support (e.g., MIS)
- Logistics
- H.4.3 Communications Applications
- Bulletin boards
- Computer conferencing and teleconferencing
- Electronic mail
- Videotex
- H.4.m Miscellaneous
- H.5 INFORMATION INTERFACES AND PRESENTATION (I.7)
- H.5.0 General
- H.5.1 Multimedia Information Systems
- Animations
- Artificial realities
- Audio input/output
- Evaluation/methodology
- Hypertext navigation and maps
- Video (e.g., tape, disk, DVI)
- H.5.2 User Interfaces (D.2.2, H.1.2, I.3.6)
- Ergonomics
- Evaluation/methodology
- Input devices and strategies (e.g., mouse, touchscreen)
- Interaction styles (e.g., commands, menus, forms, direct manipulation)
- Screen design (e.g., text, graphics, color)
- Theory and methods
- Training, help, and documentation
- User interface management systems (UIMS)
- Windowing systems
- H.5.3 Group and Organization Interfaces
- Asynchronous interaction
- Evaluation/methodology
- Organizational design
- Synchronous interaction
- Theory and models
- H.m MISCELLANEOUS
- I. Computing Methodologies
- I.0 GENERAL
- I.1 ALGEBRAIC MANIPULATION
- I.1.0 General
- I.1.1 Expressions and Their Representation (E.1, E.2)
- Representations (general and polynomial)
- Simplification of expressions
- I.1.2 Algorithms (F.2.1, F.2.2)
- Algebraic algorithms
- Analysis of algorithms
- Nonalgebraic algorithms
- I.1.3 Languages and Systems (D.3.2, D.3.3, F.2.2)
- Evaluation strategies
- Nonprocedural languages
- Special-purpose algebraic systems
- Special-purpose hardware
- Substitution mechanisms
- I.1.4 Applications
- I.1.m Miscellaneous
- I.2 ARTIFICIAL INTELLIGENCE
- I.2.0 General
- Cognitive simulation
- Philosophical foundations
- I.2.1 Applications and Expert Systems (H.4, J)
- Cartography
- Games
- Industrial automation
- Law
- Medicine and science
- Natural language interfaces
- Office automation
- I.2.2 Automatic Programming (D.1.2, F.3.1)
- Automatic analysis of algorithms
- Program modification
- Program synthesis
- Program transformation
- Program verification
- I.2.3 Deduction and Theorem Proving
- Answer/reason extraction
- Deduction (e.g., natural, rule-based)
- Logic programming
- Mathematical induction
- Metatheory
- Nonmonotonic reasoning and belief revision
- Resolution
- Uncertainty, "fuzzy," and probabilistic reasoning
- I.2.4 Knowledge Representation Formalisms and Methods
- Frames and scripts
- Predicate logic
- Relation systems
- Representation languages
- Representations (procedural and rule-based)
- Semantic networks
- I.2.5 Programming Languages and Software (D.3.2)
- Expert system tools and techniques
- I.2.6 Learning (K.3.2)
- Analogies
- Concept learning
- Connectionism and neural nets
- Induction
- Knowledge acquisition
- Language acquisition
- Parameter learning
- I.2.7 Natural Language Processing
- Discourse
- Language generation
- Language models
- Language parsing and understanding
- Machine translation
- Speech recognition and synthesis
- Text analysis
- I.2.8 Problem Solving, Control Methods, and Search (F.2.2)
- Backtracking
- Dynamic programming
- Graph and tree search strategies
- Heuristic methods
- Plan execution, formation, generation
- I.2.9 Robotics
- Manipulators
- Propelling mechanisms
- Sensors
- I.2.10 Vision and Scene Understanding (I.4.8, I.5)
- Architecture and control structures
- Intensity, color, photometry and thresholding
- Modeling and recovery of physical attributes
- Motion
- Perceptual reasoning
- Representations, data structures, and transforms
- Shape
- Texture
- I.2.11 Distributed Artificial Intelligence
- Coherence and coordination
- Languages and structures
- I.2.m Miscellaneous
- I.2.0 General
- I.3 COMPUTER GRAPHICS
- I.3.0 General
- I.3.1 Hardware Architecture (B.4.2)
- Graphics processors
- Hardcopy devices
- Input devices
- Parallel processing
- Raster display devices
- Storage devices
- Three-dimensional displays
- Vector display devices
- I.3.2 Graphics Systems (C.2.1, C.2.4, C.3)
- Distributed/network graphics
- Remote systems
- Stand-alone systems
- I.3.3 Picture/Image Generation
- Antialiasing
- Bitmap and framebuffer operations
- Digitizing and scanning
- Display algorithms
- Line and curve generation
- Viewing algorithms
- I.3.4 Graphics Utilities
- Application packages
- Device drivers
- Graphics editors
- Graphics packages
- Meta files
- Paint systems
- Picture description languages
- Software support
- Virtual device interfaces
- I.3.5 Computational Geometry and Object Modeling
- Boundary representations
- Constructive solid geometry (CSG)
- Curve, surface, solid, and object representations
- Geometric algorithms, languages, and systems
- Hierarchy and geometric transformations
- Modeling packages
- Object hierarchies
- Physically based modeling
- Splines
- I.3.6 Methodology and Techniques
- Device independence
- Ergonomics
- Graphics data structures and data types
- Interaction techniques
- Languages
- Standards
- I.3.7 Three-Dimensional Graphics and Realism
- Animation
- Color, shading, shadowing, and texture
- Fractals
- Hidden line/surface removal
- Radiosity
- Raytracing
- Virtual reality
- Visible line/surface algorithms
- I.3.8 Applications
- I.3.m Miscellaneous
- I.4 IMAGE PROCESSING
- I.4.0 General
- Image displays
- Image processing software
- I.4.1 Digitization
- Quantization
- Sampling
- Scanning
- I.4.2 Compression (Coding) (E.4)
- Approximate methods
- Exact coding
- I.4.3 Enhancement
- Filtering
- Geometric correction
- Grayscale manipulation
- Registration
- Sharpening and deblurring
- Smoothing
- I.4.4 Restoration
- Inverse filtering
- Kalman filtering
- Pseudoinverse restoration
- Wiener filtering
- I.4.5 Reconstruction
- Series expansion methods
- Summation methods
- Transform methods
- I.4.6 Segmentation
- Edge and feature detection
- Pixel classification
- Region growing, partitioning
- I.4.7 Feature Measurement
- Invariants
- Moments
- Projections
- Size and shape
- Texture
- I.4.8 Scene Analysis
- Depth cues
- Photometry
- Range data
- Sensor fusion
- Stereo
- Time-varying imagery
- I.4.9 Applications
- I.4.10 Image Representation
- Hierarchical
- Morphological
- Multidimensional
- Statistical
- Volumetric
- I.4.m Miscellaneous
- I.4.0 General
- I.5 PATTERN RECOGNITION
- I.5.0 General
- I.5.1 Models
- Deterministic
- Fuzzy set
- Geometric
- Neural nets
- Statistical
- Structural
- I.5.2 Design Methodology
- Classifier design and evaluation
- Feature evaluation and selection
- Pattern analysis
- I.5.3 Clustering
- Algorithms
- Similarity measures
- I.5.4 Applications
- Computer vision
- Signal processing
- Text processing
- Waveform analysis
- I.5.5 Implementation (C.3)
- Interactive systems
- Special architectures
- I.5.m Miscellaneous
- I.6 SIMULATION AND MODELING (G.3)
- I.6.0 General
- I.6.1 Simulation Theory
- Model classification
- Systems theory
- Types of simulation (continuous and discrete)*
- I.6.2 Simulation Languages
- I.6.3 Applications
- I.6.4 Model Validation and Analysis
- I.6.5 Model Development
- Modeling methodologies
- I.6.6 Simulation Output Analysis
- I.6.7 Simulation Support Systems
- Environments
- I.6.8 Types of Simulation
- Animation
- Combined
- Continuous
- Discrete event
- Distributed
- Gaming
- Monte Carlo
- Parallel
- Visual
- I.6.m Miscellaneous
- I.7 TEXT PROCESSING (H.4, H.5)
- I.m MISCELLANEOUS
- J. Computer Applications
- J.0 General
- J.1 ADMINISTRATIVE DATA PROCESSING
- Business
- Education
- Financial (e.g., EFTS)
- Government
- Law
- Manufacturing
- Marketing
- Military
- J.2 PHYSICAL SCIENCES AND ENGINEERING
- Aerospace
- Astronomy
- Chemistry
- Earth and atmospheric sciences
- Electronics
- Engineering
- Mathematics and statistics
- Physics
- J.3 LIFE AND MEDICAL SCIENCES
- Biology
- Health
- Medical information systems
- J.4 SOCIAL AND BEHAVIORAL SCIENCES
- Economics
- Psychology
- Sociology
- J.5 ARTS AND HUMANITIES
- Arts, fine and performing
- Language translation
- Linguistics
- Literature
- Music
- J.6 COMPUTER-AIDED ENGINEERING
- Computer-aided design (CAD)
- Computer-aided manufacturing (CAM)
- J.7 COMPUTERS IN OTHER SYSTEMS (C.3)
- Command and control
- Consumer products
- Industrial control
- Military
- Process control
- Publishing
- Real time
- J.m MISCELLANEOUS
- K. Computing Milieux
- K.0 GENERAL
- K.1 THE COMPUTER INDUSTRY
- Markets
- Standards
- Statistics
- Suppliers
- K.2 HISTORY OF COMPUTING
- Hardware
- People
- Software
- Systems
- Theory
- K.3 COMPUTERS AND EDUCATION
- K.3.0 General
- K.3.1 Computer Uses in Education
- Computer-assisted instruction (CAI)
- Computer-managed instruction (CMI)
- K.3.2 Computer and Information Science Education
- Computer science education
- Curriculum
- Information systems education
- Self-assessment
- K.3.m Miscellaneous
- Accreditation
- Computer literacy
- K.4 COMPUTERS AND SOCIETY
- K.5 LEGAL ASPECTS OF COMPUTING
- K.6 MANAGEMENT OF COMPUTING AND INFORMATION SYSTEMS
- K.6.0 General
- Economics
- K.6.1 Project and People Management
- Life cycle
- Management techniques (e.g., PERT/CPM)
- Staffing
- Systems analysis and design
- Systems development
- Training
- K.6.2 Installation Management
- Benchmarks
- Computer selection
- Computing equipment management
- Performance and usage measurement
- Pricing and resource allocation
- K.6.3 Software Management
- Software development
- Software maintenance
- Software selection
- K.6.4 System Management
- Centralization/decentralization
- Management audit
- Quality assurance
- K.6.5 Security and Protection (D.4.6, K.4.2)
- Authentication
- Insurance
- Invasive software (e.g., viruses, worms, Trojan horses)
- Physical security
- K.6.m Miscellaneous
- Insurance
- Security
- K.6.0 General
- K.7 THE COMPUTING PROFESSION
- K.8 PERSONAL COMPUTING
- K.m MISCELLANEOUS