User:Dfletter/ACM Mapping to WP

The article below is a draft of a cross-reference from the ACM Computing Classification System (1998) to the Wikipedia as it existed in November 2005. This document exists on the user pages of Dfletter 21:49, 29 November 2005 (UTC) and should not be copied or moved. As you will note below, the material is subject to copyright protection. This user has requested permission to use this copy and expects a reply from ACM in December 2005.

There are some differences between the classification system below and what is published by ACM. All references to topics that are marked with (*) or (**) signaling that they are topics only included to ensure backward compatibility with ACM's earlier classification systems have been removed. Since the purpose of this cross reference is to go from ACM's to WKP, there is no need for these older topics.


Copyright 2005, 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 permissions@acm.org.



The ACM Computing Classification System (1998)

A. GENERAL LITERATURE

edit

A.0 GENERAL

edit
Wiki category:Computer science literature
Wiki category:History of computing
Wiki Category:Computing
Wiki category:computer science,
  • Biographies/autobiographies
  • Conference proceedings
  • General literary works (e.g., fiction, plays)

A.1 INTRODUCTORY AND SURVEY

edit
Wiki Category:Computer books,

A.2 REFERENCE (e.g., dictionaries, encyclopedias, glossaries)

edit
Wiki Category:Computer science reference

A.m MISCELLANEOUS

edit

B. HARDWARE

edit

B.0 GENERAL

edit
Wiki category:Computer engineering

B.1 CONTROL STRUCTURES AND MICROPROGRAMMING

edit
See also
#D.3.2 Language Classifications 

B.1.0 General

edit

B.1.1 Control Design Styles

edit

B.1.2 Control Structure Performance Analysis and Design Aids

edit

B.1.4 Microprogram Design Aids

edit
See also 
#D.2.2 Design Tools and Techniques, 
#D.2.4 Software/Program Verification, 
#D.3.2 Language Classifications, 
#D.3.4 Processors) 
  • Languages and compilers
  • Optimization

B.1.5 Microcode Applications

edit
  • Instruction set interpretation

B.1.m Miscellaneous

edit

B.2 ARITHMETIC AND LOGIC STRUCTURES

edit

B.2.0 General

edit

B.2.1 Design Styles

edit
See also 
#C.1.1 Single Data Stream Architectures
#C.1.2 Multiple Data Stream Architectures (Multiprocessors)
  • Parallel
  • Pipeline

B.2.4 High-Speed Arithmetic

edit
  • Algorithms
  • Cost/performance

B.2.m Miscellaneous

edit

B.3 MEMORY STRUCTURES

edit

B.3.0 General

edit

B.3.1 Semiconductor Memories

edit
See also
#B.7.1 Types and Design Styles
  • Dynamic memory (DRAM)
  • Read-only memory (ROM)
  • Static memory (SRAM)

B.3.2 Design Styles

edit
See also
#D.4.2 Storage Management
  • Associative memories
  • Cache memories
  • Mass storage (e.g., magnetic, optical, RAID)
  • Primary memory
  • Shared memory
  • Virtual memory

B.3.m Miscellaneous

edit

B.4 INPUT/OUTPUT AND DATA COMMUNICATIONS

edit

B.4.0 General

edit

B.4.2 Input/Output Devices

edit
  • Channels and controllers
  • Data terminals and printers
  • Image display
  • Voice

B.4.3 Interconnections (Subsystems)

edit
  • Asynchronous/synchronous operation
  • Fiber optics
  • Interfaces
  • Parallel I/O
  • Topology (e.g., bus, point-to-point)


B.4.m Miscellaneous

edit

B.5 REGISTER-TRANSFER-LEVEL IMPLEMENTATION

edit

B.5.0 General

edit

B.5.1 Design

edit
  • Arithmetic and logic units
  • Control design
  • Data-path design
  • Memory design
  • Styles (e.g., parallel, pipeline, special-purpose)

B.5.2 Design Aids

edit
  • Automatic synthesis
  • Hardware description languages
  • Optimization
  • Simulation
  • Verification

B.5.m Miscellaneous

edit

B.6 LOGIC DESIGN

edit

B.6.0 General

edit

B.6.1 Design Styles

edit
  • Cellular arrays and automata
  • Combinational logic
  • Logic arrays
  • Parallel circuits
  • Sequential circuits

B.6.3 Design Aids

edit
  • Automatic synthesis
  • Hardware description languages
  • Optimization
  • Simulation
  • Switching theory
  • Verification

B.6.m Miscellaneous

edit

B.7 INTEGRATED CIRCUITS

edit

B.7.0 General

edit

B.7.1 Types and Design Styles

edit
  • Advanced technologies
  • Algorithms implemented in hardware
  • Gate arrays
  • Input/output circuits
  • Memory technologies
  • Microprocessors and microcomputers
  • VLSI (very large scale integration)

B.7.2 Design Aids

edit
  • Graphics
  • Layout
  • Placement and routing
  • Simulation
  • Verification

B.7.m Miscellaneous

edit

B.8 PERFORMANCE AND RELIABILITY

edit
See also
#C.4 PERFORMANCE OF SYSTEMS 

B.8.0 General

edit

B.8.1 Reliability, Testing, and Fault-Tolerance

edit

B.8.2 Performance Analysis and Design Aids

edit

B.8.m Miscellaneous

edit

B.m MISCELLANEOUS

edit
  • Design management

C. COMPUTER SYSTEMS ORGANIZATION

edit
Wiki category:Computer architecture

C.0 GENERAL

edit
  • Hardware/software interfaces
  • Instruction set design (e.g., RISC, CISC, VLIW)
  • Modeling of computer architecture
  • System architectures
  • Systems specification methodology

C.1 PROCESSOR ARCHITECTURES

edit

C.1.0 General

edit

C.1.1 Single Data Stream Architectures

edit
  • RISC/CISC, VLIW architectures

C.1.2 Multiple Data Stream Architectures (Multiprocessors)

edit
  • 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)
  • Single-instruction-stream, multiple-data-stream processors (SIMD)

C.1.3 Other Architecture Styles

edit
  • Adaptable architectures
  • Analog computers
  • Cellular architecture (e.g., mobile)
  • Data-flow architectures
  • Heterogeneous (hybrid) systems
  • Neural nets
  • Pipeline processors

C.1.4 Parallel Architectures

edit
  • Distributed architectures
  • Mobile processors

C.1.m Miscellaneous

edit

C.2 COMPUTER-COMMUNICATION NETWORKS

edit

C.2.0 General

edit
Wiki Category:Computer networks
  • Data communications
  • Open Systems Interconnection reference model (OSI)
  • Security and protection (e.g., firewalls)

C.2.1 Network Architecture and Design

edit
  • Asynchronous Transfer Mode (ATM)
  • Circuit-switching networks
  • Distributed networks
  • Frame relay networks
  • ISDN (Integrated Services Digital Network)
  • Network communications
  • Network topology
  • Packet-switching networks
  • Store and forward networks
  • Wireless communication

C.2.2 Network Protocols

edit
  • Applications (SMTP, FTP, etc.)
  • Protocol architecture (OSI model)
  • Protocol verification
  • Routing protocols

C.2.3 Network Operations

edit
  • Network management
  • Network monitoring
  • Public networks

C.2.4 Distributed Systems

edit
  • Client/server
  • Distributed applications
  • Distributed databases
  • Network operating systems

C.2.5 Local and Wide-Area Networks

edit
  • Access schemes
  • Buses
  • Ethernet (e.g., CSMA/CD)
  • High-speed (e.g., FDDI, fiber channel, ATM)
  • Internet (e.g., TCP/IP)
  • Token rings

C.2.6 Internetworking

edit
See also
#C.2.2 Network Protocols
  • Routers
  • Standards (e.g., TCP/IP)
  • C.2.m Miscellaneous

C.3 SPECIAL-PURPOSE AND APPLICATION-BASED SYSTEMS

edit
See also
#J.7 COMPUTERS IN OTHER SYSTEMS
  • Microprocessor/microcomputer applications
  • Process control systems
  • Real-time and embedded systems
  • Signal processing systems
  • Smartcards

C.4 PERFORMANCE OF SYSTEMS

edit
  • Design studies
  • Fault tolerance
  • Measurement techniques
  • Modeling techniques
  • Performance attributes
  • Reliability, availability, and serviceability

C.5 COMPUTER SYSTEM IMPLEMENTATION

edit

C.5.0 General

edit

C.5.1 Large and Medium ("Mainframe") Computers

edit
  • Super (very large) computers

C.5.3 Microcomputers

edit
  • Microprocessors
  • Personal computers
  • Portable devices (e.g., laptops, personal digital assistants)
  • Workstations

C.5.4 VLSI Systems

edit

C.5.5 Servers

edit

C.5.m Miscellaneous

edit

C.m MISCELLANEOUS

edit

D. Software

edit
Wiki category:Software
Wiki Category:Programming

D.0 GENERAL

edit

D.1 PROGRAMMING TECHNIQUES

edit
See also
#E. Data
Wiki Category:Programming paradigms

D.1.0 General

edit

D.1.1 Applicative (Functional) Programming

edit
Wiki Category:Functional programming

D.1.2 Automatic Programming

edit
See also
#I.2.2 Automatic Programming

D.1.3 Concurrent Programming

edit
  • Distributed programming
  • Parallel programming

D.1.4 Sequential Programming

edit

D.1.5 Object-oriented Programming

edit
 Wiki Category:Object-oriented programming

D.1.6 Logic Programming

edit
 Wiki Category:Logic programming

D.1.7 Visual Programming

edit

D.1.m Miscellaneous

edit
Wiki Category:Aspect-oriented programming

D.2 SOFTWARE ENGINEERING

edit
See also 
#K.6.3 Software Management
Wiki Category:Software engineering

D.2.0 General

edit
See also
#K.5.1 Hardware/Software Protection
Wiki Category:Software development
Wiki Category:Software engineering disasters 
Wiki Category:Software engineering papers
  • Protection mechanisms
  • Standards

D.2.1 Requirements/Specifications

edit
See also
#D.3.1 Formal Definitions and Theory 
  • Elicitation methods (e.g., rapid prototyping, interviews, JAD)
  • Languages
  • Methodologies (e.g., object-oriented, structured)
  • Tools

D.2.2 Design Tools and Techniques

edit
  • Computer-aided software engineering (CASE)
  • Decision tables
  • Evolutionary prototyping
  • Flow charts
  • Modules and interfaces
  • Object-oriented design methods
  • Petri nets
  • Software libraries
  • State diagrams
  • User interfaces

D.2.3 Coding Tools and Techniques

edit
  • Object-oriented programming
  • Pretty printers
  • Program editors
  • Standards
  • Structured programming
  • Top-down programming

D.2.4 Software/Program Verification

edit
See also
#F.3.1 Specifying and Verifying and Reasoning about Programs
Wiki category:Formal methods
  • Assertion checkers
  • Class invariants
  • Correctness proofs
  • Formal methods
  • Model checking
  • Programming by contract
  • Reliability
  • Statistical methods
  • Validation

D.2.5 Testing and Debugging

edit
Wiki Category:Software testing
  • Code inspections and walk-throughs
  • Debugging aids
  • Diagnostics
  • Distributed debugging
  • Error handling and recovery
  • Monitors
  • Symbolic execution
  • Testing tools (e.g., data generators, coverage testing)
  • Tracing

D.2.6 Programming Environments

edit
  • Graphical environments
  • Integrated environments
  • Interactive environments
  • Programmer workbench

D.2.7 Distribution, Maintenance, and Enhancement

edit
Wiki category:Documentation generators
Wiki Category:Version_control systems
  • Documentation
  • Portability
  • Restructuring, reverse engineering, and reengineering
  • Version control

D.2.8 Metrics

edit
See also
#D.4.8 Performance
Wiki category:Software metrics
  • Complexity measures
  • Performance measures
  • Process metrics
  • Product metrics

D.2.9 Management

edit
See also
#K.6.3 Software Management
#K.6.4 System Management
  • Cost estimation
  • Life cycle
  • Productivity
  • Programming teams
  • Software configuration management
  • Software process models (e.g., CMM, ISO, PSP)
  • Software quality assurance (SQA)
  • Time estimation

D.2.11 Software Architectures

edit
Wiki Category:Software_architecture
  • Data abstraction
  • Domain-specific architectures
  • Information hiding
  • Languages (e.g., description, interconnection, definition)
  • Patterns (e.g., client/server, pipeline, blackboard)

D.2.12 Interoperability

edit
  • Data mapping
  • Distributed objects
  • Interface definition languages

D.2.13 Reusable Software

edit
  • Domain engineering
  • Reusable libraries
  • Reuse models

D.2.m Miscellaneous

edit

D.3 PROGRAMMING LANGUAGES

edit
Wiki Category:Programming languages

D.3.0 General

edit
Wiki Category:Lists of programming languages
  • Standards

D.3.1 Formal Definitions and Theory

edit
See also
#D.2.1 Requirements/Specifications
#F.3.1 Specifying and Verifying and Reasoning about Programs
#F.3.2 Semantics of Programming Languages
#F.4.2 Grammars and Other Rewriting Systems
#F.4.3 Formal Languages 
  • Semantics
  • Syntax

D.3.2 Language Classifications

edit
Wiki Category:Programming language families
  • Applicative (functional) languages
  • Concurrent, distributed, and parallel languages
  • Constraint and logic languages
  • Data-flow languages
  • Design languages
  • Extensible languages
  • Macro and assembly languages
  • Multiparadigm languages
  • Object-oriented languages
  • Specialized application languages
  • Very high-level languages

D.3.3 Language Constructs and Features

edit
See also
#E.2 DATA STORAGE REPRESENTATIONS
  • Abstract data types
  • Classes and objects
  • Concurrent programming structures
  • Constraints
  • Control structures
  • Coroutines
  • Data types and structures
  • Dynamic storage management
  • Frameworks
  • Inheritance
  • Input/output
  • Modules, packages
  • Patterns
  • Polymorphism
  • Procedures, functions, and subroutines
  • Recursion

D.3.4 Processors

edit
  • Code generation
  • Compilers
  • Debuggers
  • Incremental compilers
  • Interpreters
  • Memory management (garbage collection)
  • Optimization
  • Parsing
  • Preprocessors
  • Retargetable compilers
  • Run-time environments
  • Translator writing systems and compiler generators

D.3.m Miscellaneous

edit

D.4 OPERATING SYSTEMS

edit
See also
#C. COMPUTER SYSTEMS ORGANIZATION
Wiki Category:System software
Wiki Category:Operating systems

D.4.0 General

edit

D.4.1 Process Management

edit
  • Concurrency
  • Deadlocks
  • Multiprocessing/multiprogramming/multitasking
  • Mutual exclusion
  • Scheduling
  • Synchronization
  • Threads

D.4.2 Storage Management

edit
  • Allocation/deallocation strategies
  • Distributed memories
  • Garbage collection
  • Main memory
  • Secondary storage
  • Storage hierarchies
  • Virtual memory

D.4.3 File Systems Management

edit
See also
#E.5 FILES 
  • Access methods
  • Directory structures
  • Distributed file systems
  • File organization

D.4.4 Communications Management

edit
See also
#C.2 COMPUTER-COMMUNICATION NETWORKS 
  • Buffering
  • Input/output
  • Message sending
  • Network communication

D.4.5 Reliability

edit
  • Backup procedures
  • Checkpoint/restart
  • Fault-tolerance
  • Verification

D.4.6 Security and Protection

edit
See also
#K.6.5 Security and Protection

Wiki Category:Security software
  • Access controls
  • Authentication
  • Cryptographic controls
  • Information flow controls
  • Invasive software (e.g., viruses, worms, Trojan horses)

D.4.7 Organization and Design

edit
  • Distributed systems
  • Interactive systems
  • Real-time systems and embedded systems

D.4.8 Performance

edit
See also
#C.4 PERFORMANCE OF SYSTEMS
#D.2.8 Metrics
#I.6 SIMULATION AND MODELING 
  • Measurements
  • Modeling and prediction
  • Monitors
  • Operational analysis
  • Queueing theory
  • Simulation
  • Stochastic analysis

D.4.9 Systems Programs and Utilities

edit
  • Command and control languages
  • Window managers

D.4.m Miscellaneous

edit

D.m MISCELLANEOUS

edit

E. DATA

edit
Wiki category:Computer data
Wiki Category:Computer storage

E.0 GENERAL

edit

E.1 DATA STRUCTURES

edit
 Wiki category:Data structures 
  • Arrays
  • Distributed data structures
  • Graphs and networks
  • Lists, stacks, and queues
  • Records
  • Trees
Wiki category:Trees (structure)

E.2 DATA STORAGE REPRESENTATIONS

edit
  • Hash-table representations
Wiki category:Hashing
  • Linked representations
  • Object representation

E.3 DATA ENCRYPTION

edit
 Wiki category:Cryptography
  • Code breaking
  • Public key cryptosystems
  • Standards (e.g., DES, PGP, RSA)
Wiki Category:Cryptography standards
Wiki Category:PGP

E.4 CODING AND INFORMATION THEORY

edit
See also
#H.1.1 Systems and Information Theory

 Wiki Category:Information_theory, Wiki Category:Coding_theory
  • Data compaction and compression
Wiki Category:Data_compression 
  • Error control codes
Wiki Category:Error_detection_and_correction
  • Formal models of communication
Wiki Category:Communication_theory

E.5 FILES

edit
See also
#D.4.3 File Systems Management
#F.2.2 Nonnumerical Algorithms and Problems
#H.2 DATABASE MANAGEMENT
Wiki Category:Computer file systems
Wiki category:Data management
Wiki Category:Computer file formats
Wiki Category:File managers
  • Backup/recovery
  • Organization/structure
  • Sorting/searching

E.m MISCELLANEOUS

edit

F. THEORY OF COMPUTATION

edit
Wiki Category:Theory of computation
Wiki Category:Theoretical computer science

F.0 GENERAL

edit

F.1 COMPUTATION BY ABSTRACT DEVICES

edit

F.1.0 General

edit

F.1.1 Models of Computation

edit
See also
#F.4.1 Mathematical Logic

Wiki category:Computational models
  • Automata (e.g., finite, push-down, resource-bounded)
  • Bounded-action devices (e.g., Turing machines, random access machines)
  • Computability theory
  • Relations between models
  • Self-modifying machines (e.g., neural networks)
  • Unbounded-action devices (e.g., cellular automata, circuits, networks of machines)
Wiki category:Cellular automata

F.1.2 Modes of Computation

edit
Wiki category:Computational models
  • Alternation and nondeterminism
  • Interactive and reactive computation
  • Online computation
  • Parallelism and concurrency
  • Probabilistic computation
  • Relativized computation

F.1.3 Complexity Measures and Classes

edit
See also
#F.2 ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY

Wiki Category:Computational complexity theory
  • Complexity hierarchies
  • Reducibility and completeness
  • Relations among complexity classes
  • Relations among complexity measures

F.1.m Miscellaneous

edit

F.2 ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY

edit
See also
#B.6 LOGIC DESIGN
#B.7 INTEGRATED CIRCUITS
#F.1.3 Complexity Measures and Classes

Wiki category:analysis of algorithms

F.2.0 General

edit

F.2.1 Numerical Algorithms and Problems

edit
See also
#G.1 NUMERICAL ANALYSIS
#G.4 MATHEMATICAL SOFTWARE
#I.1 SYMBOLIC AND ALGEBRAIC MANIPULATION
Wiki Category:Numerical analysis
Wiki category:Algorithms
Wiki category:Computer algebra
  • 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

edit
See also 
#E.2 DATA STORAGE REPRESENTATIONS
#E.3 DATA ENCRYPTION
#E.4 CODING AND INFORMATION THEORY
#E.5 FILES
#G.2 DISCRETE MATHEMATICS
#H.2 DATABASE MANAGEMENT
#H.3 INFORMATION STORAGE AND RETRIEVAL
Wiki category:Algorithms
  • Complexity of proof procedures
  • Computations on discrete structures
  • Geometrical problems and computations
  • Pattern matching
  • Routing and layout
  • Sequencing and scheduling
  • Sorting and searching
Wiki Category:Sort algorithms
Wiki Category:Search algorithms

F.2.3 Tradeoffs between Complexity Measures

edit
See also
#F.1.3 Complexity Measures and Classes
Wiki Category:Analysis of algorithms

F.2.m Miscellaneous

edit

F.3 LOGICS AND MEANINGS OF PROGRAMS

edit

F.3.0 General

edit

F.3.1 Specifying and Verifying and Reasoning about Programs

edit
See also
#D.2.1 Requirements/Specifications
#D.2.4 Software/Program Verification
#D.3.1 Formal Definitions and Theory
#E.1 DATA STRUCTURES
Wiki category:Formal methods
  • Assertions
  • Invariants
  • Logics of programs
  • Mechanical verification
  • Pre- and post-conditions
  • Specification techniques

F.3.2 Semantics of Programming Languages

edit
See also
#D.3.1 Formal Definitions and Theory
  • Algebraic approaches to semantics
  • Denotational semantics
  • Operational semantics
  • Partial evaluation
  • Process models
  • Program analysis

F.3.3 Studies of Program Constructs

edit
See also
#D.3.2 Language Classifications
#D.3.3 Language Constructs and Features

Wiki category:Programming constructs
  • Control primitives
  • Functional constructs
  • Object-oriented constructs
  • Program and recursion schemes
  • Type structure

F.3.m Miscellaneous

edit

F.4 MATHEMATICAL LOGIC AND FORMAL LANGUAGES

edit

F.4.0 General

edit

F.4.1 Mathematical Logic

edit
See also
#F.1.1 Models of Computation
#I.2.2 Automatic Programming
#I.2.3 Deduction and Theorem Proving 
#I.2.4 Knowledge Representation Formalisms and Methods
Wiki Category:Mathematical logic
  • Computability theory
  • Computational logic
  • Lambda calculus and related systems
  • Logic and constraint programming
  • Mechanical theorem proving
  • Modal logic
  • Model theory
  • Proof theory
  • Recursive function theory
  • Set theory
  • Temporal logic

F.4.2 Grammars and Other Rewriting Systems

edit
See also
#D.3.1 Formal Definitions and Theory
Wiki category:Formal languages
  • Decision problems
  • Grammar types (e.g., context-free, context-sensitive)
  • Parallel rewriting systems (e.g., developmental systems, L-systems)
  • Parsing
  • Thue systems

F.4.3 Formal Languages

edit
See also
#D.3.1 Formal Definitions and Theory
Wiki category:Formal languages
  • Algebraic language theory
  • Classes defined by grammars or automata (e.g., context-free languages, regular sets, recursive sets)
  • Decision problems
  • Operations on languages

F.4.m Miscellaneous

edit

F.m MISCELLANEOUS

edit

G. MATHEMATICS OF COMPUTING

edit

G.0 GENERAL

edit

G.1 NUMERICAL ANALYSIS

edit

G.1.0 General

edit
  • Computer arithmetic
  • Conditioning (and ill-conditioning)
  • Error analysis
  • Interval arithmetic
  • Multiple precision arithmetic
  • Numerical algorithms
  • Parallel algorithms
  • Stability (and instability)

G.1.1 Interpolation

edit
See also
#I.3.5 Computational Geometry and Object Modeling
#I.3.7 Three-Dimensional Graphics and Realism  
  • Extrapolation
  • Interpolation formulas
  • Smoothing
  • Spline and piecewise polynomial interpolation

G.1.2 Approximation

edit
  • Approximation of surfaces and contours
  • Chebyshev approximation and theory
  • Elementary function approximation
  • Fast Fourier transforms (FFT)
  • Least squares approximation
  • Linear approximation
  • Minimax approximation and algorithms
  • Nonlinear approximation
  • Rational approximation
  • Special function approximations
  • Spline and piecewise polynomial approximation
  • Wavelets and fractals

G.1.3 Numerical Linear Algebra

edit
  • Conditioning
  • Eigenvalues and eigenvectors (direct and iterative methods)
  • Error analysis
  • Linear systems (direct and iterative methods)
  • Matrix inversion
  • Singular value decomposition
  • Sparse, structured, and very large systems (direct and iterative methods)

G.1.4 Quadrature and Numerical Differentiation

edit
See also
#F.2.1 Numerical Algorithms and Problems 
  • Adaptive and iterative quadrature
  • Automatic differentiation
  • Error analysis
  • Finite difference methods
  • Gaussian quadrature
  • Iterative methods
  • Multidimensional (multiple) quadrature

G.1.5 Roots of Nonlinear Equations

edit
  • Continuation (homotopy) methods
  • Convergence
  • Error analysis
  • Iterative methods
  • Polynomials, methods for
  • Systems of equations

G.1.6 Optimization

edit
  • Constrained optimization
  • Convex programming
  • Global optimization
  • Gradient methods
  • Integer programming
  • Least squares methods
  • Linear programming
  • Nonlinear programming
  • Quadratic programming methods
  • Simulated annealing
  • Stochastic programming
  • Unconstrained optimization

G.1.7 Ordinary Differential Equations

edit
  • Boundary value problems
  • Chaotic systems
  • Convergence and stability
  • Differential-algebraic equations
  • Error analysis
  • Finite difference methods
  • Initial value problems
  • Multistep and multivalue methods
  • One-step (single step) methods
  • Stiff equations

G.1.8 Partial Differential Equations

edit
  • Domain decomposition methods
  • Elliptic equations
  • Finite difference methods
  • Finite element methods
  • Finite volume methods
  • Hyperbolic equations
  • Inverse problems
  • Iterative solution techniques
  • Method of lines
  • Multigrid and multilevel methods
  • Parabolic equations
  • Spectral methods

G.1.9 Integral Equations

edit
  • Delay equations
  • Fredholm equations
  • Integro-differential equations
  • Volterra equations

G.1.10 Applications

edit

G.1.m Miscellaneous

edit

G.2 DISCRETE MATHEMATICS

edit

G.2.0 General

edit

G.2.1 Combinatorics

edit
See also
#F.2.2 Nonnumerical Algorithms and Problems
  • Combinatorial algorithms
  • Counting problems
  • Generating functions
  • Permutations and combinations
  • Recurrences and difference equations

G.2.2 Graph Theory

edit
See also
#F.2.2 Nonnumerical Algorithms and Problems
  • Graph algorithms
  • Graph labeling
  • Hypergraphs
  • Network problems
  • Path and circuit problems
  • Trees

G.2.3 Applications

edit

G.2.m Miscellaneous

edit

G.3 PROBABILITY AND STATISTICS

edit
  • Contingency table analysis
  • Correlation and regression analysis
  • Distribution functions
  • Experimental design
  • Markov processes
  • Multivariate statistics
  • Nonparametric statistics
  • Probabilistic algorithms (including Monte Carlo)
  • Queueing theory
  • Random number generation
  • Reliability and life testing
  • Renewal theory
  • Robust regression
  • Statistical computing
  • Statistical software
  • Stochastic processes
  • Survival analysis
  • Time series analysis

G.4 MATHEMATICAL SOFTWARE

edit
  • Algorithm design and analysis
  • Certification and testing
  • Documentation
  • Efficiency
  • Parallel and vector implementations
  • Reliability and robustness
  • User interfaces

G.m MISCELLANEOUS

edit

H. INFORMATION SYSTEMS

edit

H.0 GENERAL

edit

H.1 MODELS AND PRINCIPLES

edit

H.1.0 General

edit

H.1.1 Systems and Information Theory

edit
See also
#E.4 CODING AND INFORMATION THEORY
Wiki category:Information science
Wiki category:Information technology
  • General systems theory
Wiki category:Systems theory
  • Information theory
  • Value of information

H.1.2 User/Machine Systems

edit
  • Human factors
  • Human information processing
  • Software psychology

H.1.m Miscellaneous

edit

H.2 DATABASE MANAGEMENT

edit
See also
#E.5 FILES 

H.2.0 General

edit
Wiki category:Database management systems

H.2.1 Logical Design

edit
  • Data models
Wiki category:Data modeling
  • Normal forms
  • Schema and subschema

H.2.2 Physical Design

edit
  • Access methods
  • Deadlock avoidance
  • Recovery and restart

H.2.3 Languages

edit
See also
#D.3.2 Language Classifications
  • Data description languages (DDL)
  • Data manipulation languages (DML)
  • Database (persistent) programming languages
  • Query languages
Wiki category:SQL
Wiki category:Query languages
  • Report writers

H.2.4 Systems

edit
  • Concurrency
  • Distributed databases
  • Multimedia databases
  • Object-oriented databases
  • Parallel databases
  • Query processing
  • Relational databases
  • Rule-based databases
  • Textual databases
  • Transaction processing

H.2.5 Heterogeneous Databases

edit

H.2.6 Database Machines

edit

H.2.7 Database Administration

edit
  • Data dictionary/directory
  • Data warehouse and repository
  • Logging and recovery
  • Security, integrity, and protection

H.2.8 Database Applications

edit
Wiki category:Knowledge discovery in databases
  • Data mining
  • Image databases
  • Scientific databases
  • Spatial databases and GIS
  • Statistical databases

H.2.m Miscellaneous

edit

H.3 INFORMATION STORAGE AND RETRIEVAL

edit

H.3.0 General

edit

H.3.1 Content Analysis and Indexing

edit
  • Abstracting methods
  • Dictionaries
  • Indexing methods
  • Linguistic processing
  • Thesauruses

H.3.2 Information Storage

edit
  • File organization

H.3.3 Information Search and Retrieval

edit
  • Clustering
  • Information filtering
  • Query formulation
  • Relevance feedback
  • Retrieval models
  • Search process
  • Selection process

H.3.4 Systems and Software

edit
  • Distributed systems
  • Information networks
  • Performance evaluation (efficiency and effectiveness)
  • User profiles and alert services

H.3.5 Online Information Services

edit
  • Commercial services
  • Data sharing
  • Web-based services

H.3.6 Library Automation

edit
  • Large text archives

H.3.7 Digital Libraries

edit
  • Collection
  • Dissemination
  • Standards
  • Systems issues
  • User issues

H.3.m Miscellaneous

edit

H.4 INFORMATION SYSTEMS APPLICATIONS

edit

H.4.0 General

edit

H.4.1 Office Automation

edit
See also
#I.7 DOCUMENT AND TEXT PROCESSING 
  • Desktop publishing
  • Groupware
  • Spreadsheets
  • Time management (e.g., calendars, schedules)
  • Word processing
  • Workflow management

H.4.2 Types of Systems

edit
  • Decision support (e.g., MIS)
  • Logistics

H.4.3 Communications Applications

edit
  • Bulletin boards
  • Computer conferencing, teleconferencing, and videoconferencing
  • Electronic mail
  • Information browsers
  • Videotex

H.4.m Miscellaneous

edit

===H.5 INFORMATION INTERFACES AND PRESENTATION=== (e.g., HCI)

#I.7 DOCUMENT AND TEXT PROCESSING 

H.5.0 General

edit
Wiki Category:Human-computer interaction

H.5.1 Multimedia Information Systems

edit
  • Animations
  • Artificial, augmented, and virtual realities
  • Audio input/output
  • Evaluation/methodology
  • Video (e.g., tape, disk, DVI)

H.5.2 User Interfaces

edit
See also
#D.2.2 Design Tools and Techniques
#H.1.2 User/Machine Systems
#I.3.6 Methodology and Techniques 
  • Auditory (non-speech) feedback
  • Benchmarking
  • Ergonomics
Wiki category:Ergonomics
  • Evaluation/methodology
  • Graphical user interfaces (GUI)
  • Haptic I/O
  • Input devices and strategies (e.g., mouse, touchscreen)
  • Interaction styles (e.g., commands, menus, forms, direct manipulation)
  • Natural language
  • Prototyping
  • Screen design (e.g., text, graphics, color)
  • Standardization
  • Style guides
  • Theory and methods
  • Training, help, and documentation
  • User-centered design
  • User interface management systems (UIMS)
  • Voice I/O
  • Windowing systems

H.5.3 Group and Organization Interfaces

edit
  • Asynchronous interaction
  • Collaborative computing
  • Computer-supported cooperative work
  • Evaluation/methodology
  • Organizational design
  • Synchronous interaction
  • Theory and models
  • Web-based interaction

H.5.4 Hypertext/Hypermedia

edit
See also
#I.7 DOCUMENT AND TEXT PROCESSING
#J.7 COMPUTERS IN OTHER SYSTEMS
  • Architectures
  • Navigation
  • Theory
  • User issues

H.5.5 Sound and Music Computing

edit
See also
#J.5 ARTS AND HUMANITIES
  • Methodologies and techniques
  • Modeling
  • Signal analysis, synthesis, and processing
  • Systems

H.5.m Miscellaneous

edit

H.m MISCELLANEOUS

edit

I. COMPUTING METHODOLOGIES

edit

I.0 GENERAL

edit

I.1 SYMBOLIC AND ALGEBRAIC MANIPULATION

edit

I.1.0 General

edit
Wiki category:Computer algebra

I.1.1 Expressions and Their Representation

edit
See also
#E.1 DATA STRUCTURES
#E.2 DATA STORAGE REPRESENTATIONS
  • Representations (general and polynomial)
  • Simplification of expressions

I.1.2 Algorithms

edit
See also
#F.2.1 Numerical Algorithms and Problems
#F.2.2 Nonnumerical Algorithms and Problems
Wiki Category:Algorithms 
  • Algebraic algorithms
  • Analysis of algorithms
  • Nonalgebraic algorithms

I.1.3 Languages and Systems

edit
See also
#D.3.2 Language Classifications
#D.3.3 Language Constructs and Features
#F.2.2 Nonnumerical Algorithms and Problems 
  • Evaluation strategies
  • Special-purpose algebraic systems

I.1.4 Applications

edit

I.1.m Miscellaneous

edit

I.2 ARTIFICIAL INTELLIGENCE

edit

I.2.0 General

edit
Wiki category:Artificial intelligence
  • Cognitive simulation
  • Philosophical foundations

I.2.1 Applications and Expert Systems

edit
See also
#H.4 INFORMATION SYSTEMS APPLICATIONS
#J. COMPUTER APPLICATIONS 
  • Cartography
  • Games
  • Industrial automation
  • Law
  • Medicine and science
  • Natural language interfaces
  • Office automation

I.2.2 Automatic Programming

edit
See also
#D.1.2 Automatic Programming
#F.3.1 Specifying and Verifying and Reasoning about Programs
#F.4.1 Mathematical Logic 
  • Automatic analysis of algorithms
  • Program modification
  • Program synthesis
  • Program transformation
  • Program verification

I.2.3 Deduction and Theorem Proving

edit
See also
#F.4.1 Mathematical Logic 
  • Answer/reason extraction
  • Deduction (e.g., natural, rule-based)
  • Inference engines
  • Logic programming
  • Mathematical induction
  • Nonmonotonic reasoning and belief revision
  • Resolution
  • Uncertainty, "fuzzy," and probabilistic reasoning

I.2.4 Knowledge Representation Formalisms and Methods

edit
See also
#F.4.1 Mathematical Logic 
  • Frames and scripts
  • Modal logic
  • Predicate logic
  • Relation systems
  • Representation languages
  • Representations (procedural and rule-based)
  • Semantic networks
  • Temporal logic

I.2.5 Programming Languages and Software

edit
See also
#D.3.2 Language Classifications
  • Expert system tools and techniques

I.2.6 Learning

edit
See also
#K.3.2 Computer and Information Science Education 
  • Analogies
  • Concept learning
  • Connectionism and neural nets
  • Induction
  • Knowledge acquisition
  • Language acquisition
  • Parameter learning

I.2.7 Natural Language Processing

edit
Wiki Category:Natural language processing
  • Discourse
  • Language generation
  • Language models
  • Language parsing and understanding
  • Machine translation
  • Speech recognition and synthesis
WikiCategory:Speech recognition
  • Text analysis
edit
See also
#F.2.2 Nonnumerical Algorithms and Problems 
  • Backtracking
  • Control theory
Wiki Category:Control theory
  • Dynamic programming
  • Graph and tree search strategies
  • Heuristic methods
  • Plan execution, formation, and generation
  • Scheduling

I.2.9 Robotics

edit
Wiki Category:Robotics
Wiki Category:Robots
  • Autonomous vehicles
  • Commercial robots and applications
  • Kinematics and dynamics
  • Manipulators
  • Operator interfaces
  • Propelling mechanisms
  • Sensors
  • Workcell organization and planning

I.2.10 Vision and Scene Understanding

edit
See also
#I.4.8 Scene Analysis
#I.5 PATTERN RECOGNITION
Wiki Category:Computer vision 
  • 3D/stereo scene analysis
  • Intensity, color, photometry, and thresholding
  • Modeling and recovery of physical attributes
  • Motion
  • Perceptual reasoning
  • Representations, data structures, and transforms
  • Shape
  • Texture
  • Video analysis

I.2.11 Distributed Artificial Intelligence

edit
  • Coherence and coordination
  • Intelligent agents
  • Languages and structures
  • Multiagent systems

I.2.m Miscellaneous

edit

I.3 COMPUTER GRAPHICS

edit

I.3.0 General

edit
Wiki category:Computer graphics

I.3.1 Hardware Architecture

edit
See also
#B.4.2 Input/Output Devices 
  • Graphics processors
  • Input devices
  • Parallel processing
  • Raster display devices

I.3.2 Graphics Systems

edit
See also
#C.2.1 Network Architecture and Design
#C.2.4 Distributed Systems
#C.3 SPECIAL-PURPOSE AND APPLICATION-BASED SYSTEMS 
  • Distributed/network graphics

I.3.3 Picture/Image Generation

edit
  • Bitmap and framebuffer operations
  • Digitizing and scanning
  • Display algorithms
  • Line and curve generation
  • Viewing algorithms

I.3.4 Graphics Utilities

edit
  • Application packages
  • Graphics editors
  • Graphics packages
  • Paint systems
  • Software support
  • Virtual device interfaces

I.3.5 Computational Geometry and Object Modeling

edit
  • Boundary representations
  • 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

edit
  • Ergonomics
  • Graphics data structures and data types
  • Interaction techniques
  • Languages
  • Standards

I.3.7 Three-Dimensional Graphics and Realism

edit
Wiki Category:3D computer graphics
  • Animation
  • Color, shading, shadowing, and texture
  • Fractals
Wiki Category:Fractals
  • Hidden line/surface removal
  • Radiosity
  • Raytracing
  • Virtual reality
  • Visible line/surface algorithms

I.3.8 Applications

edit

I.3.m Miscellaneous

edit

I.4 IMAGE PROCESSING AND COMPUTER VISION

edit

I.4.0 General

edit
  • Image displays
  • Image processing software

I.4.1 Digitization and Image Capture

edit
  • Camera calibration
  • Imaging geometry
  • Quantization
  • Radiometry
  • Reflectance
  • Sampling
  • Scanning

I.4.2 Compression (Coding)

edit
See also
#E.4 CODING AND INFORMATION THEORY 
  • Approximate methods

I.4.3 Enhancement

edit
  • Filtering
  • Geometric correction
  • Grayscale manipulation
  • Registration
  • Smoothing

I.4.4 Restoration

edit
  • Kalman filtering

I.4.5 Reconstruction

edit
  • Series expansion methods
  • Transform methods

I.4.6 Segmentation

edit
  • Edge and feature detection
  • Pixel classification
  • Region growing, partitioning
  • Relaxation

I.4.7 Feature Measurement

edit
  • Feature representation
  • Invariants
  • Moments
  • Projections
  • Size and shape
  • Texture

I.4.8 Scene Analysis

edit
  • Color
  • Depth cues
  • Motion
  • Object recognition
  • Photometry
  • Range data
  • Sensor fusion
  • Shading
  • Shape
  • Stereo
  • Surface fitting
  • Time-varying imagery
  • Tracking

I.4.9 Applications

edit

I.4.10 Image Representation

edit
  • Hierarchical
  • Morphological
  • Multidimensional
  • Statistical
  • Volumetric

I.4.m Miscellaneous

edit

I.5 PATTERN RECOGNITION

edit

I.5.0 General

edit

I.5.1 Models

edit
  • Fuzzy set
  • Geometric
  • Neural nets
  • Statistical
  • Structural

I.5.2 Design Methodology

edit
  • Classifier design and evaluation
  • Feature evaluation and selection
  • Pattern analysis

I.5.3 Clustering

edit
  • Algorithms
  • Similarity measures

I.5.4 Applications

edit
  • Computer vision
  • Signal processing
  • Text processing
  • Waveform analysis

I.5.5 Implementation

edit
See also
#C.3 SPECIAL-PURPOSE AND APPLICATION-BASED SYSTEMS 
  • Interactive systems
  • Special architectures

I.5.m Miscellaneous

edit

I.6 SIMULATION AND MODELING

edit
See also
#G.3 PROBABILITY AND STATISTICS 

I.6.0 General

edit
Wiki category:Scientific modeling, Wiki category:Computational science

I.6.1 Simulation Theory

edit
  • Model classification
  • Systems theory
Wiki category:Systems theory , Wiki category:Systems

I.6.2 Simulation Languages

edit

I.6.3 Applications

edit

I.6.4 Model Validation and Analysis

edit

I.6.5 Model Development

edit
  • Modeling methodologies

I.6.6 Simulation Output Analysis

edit

I.6.7 Simulation Support Systems

edit
  • Environments

I.6.8 Types of Simulation

edit
  • Animation
  • Combined
  • Continuous
  • Discrete event
  • Distributed
  • Gaming
  • Monte Carlo
Wiki Category:Monte Carlo method
  • Parallel
  • Visual

I.6.m Miscellaneous

edit

I.7 DOCUMENT AND TEXT PROCESSING

edit
See also
#H.4 INFORMATION SYSTEMS APPLICATIONS
#H.5 INFORMATION INTERFACES AND PRESENTATION 

I.7.0 General

edit
Wiki category:Word processors

I.7.1 Document and Text Editing

edit
  • Document management
  • Version control

I.7.2 Document Preparation

edit
  • Desktop publishing
  • Format and notation
  • Hypertext/hypermedia
Wiki Category:Hypertext
  • Index generation
  • Languages and systems
  • Markup languages
Wiki Category:Markup languages  
  • Multi/mixed media
  • Photocomposition/typesetting
  • Scripting languages
Wiki Category:Scripting languages 
  • Standards


I.7.4 Electronic Publishing

edit
See also
#H.5.4 Hypertext/Hypermedia
#J.7 COMPUTERS IN OTHER SYSTEMS

I.7.5 Document Capture

edit
See also
#I.4.1 Digitization and Image Capture 
  • Document analysis
  • Graphics recognition and interpretation
  • Optical character recognition (OCR)
  • Scanning

I.7.m Miscellaneous

edit

I.m MISCELLANEOUS

edit

J. COMPUTER APPLICATIONS

edit

J.0 GENERAL

edit
Wiki category:Application software

J.1 ADMINISTRATIVE DATA PROCESSING

edit
  • Business
  • Education
  • Financial (e.g., EFTS)
  • Government
  • Law
  • Manufacturing
  • Marketing
  • Military

J.2 PHYSICAL SCIENCES AND ENGINEERING

edit
  • Aerospace
  • Archaeology
  • Astronomy
  • Chemistry
  • Earth and atmospheric sciences
  • Electronics
  • Engineering
  • Mathematics and statistics
  • Physics

J.3 LIFE AND MEDICAL SCIENCES

edit
  • Biology and genetics
  • Health
  • Medical information systems

J.4 SOCIAL AND BEHAVIORAL SCIENCES

edit
  • Economics
  • Psychology
  • Sociology

J.5 ARTS AND HUMANITIES

edit
  • Architecture
  • Fine arts
  • Language translation
  • Linguistics
  • Literature
  • Performing arts (e.g., dance, music)
Wiki Category:Musical software 

J.6 COMPUTER-AIDED ENGINEERING

edit
  • Computer-aided design (CAD)
Wiki Category:Computer-aided design software
  • Computer-aided manufacturing (CAM)

J.7 COMPUTERS IN OTHER SYSTEMS

edit
See also
#C.3 SPECIAL-PURPOSE AND APPLICATION-BASED SYSTEMS 
  • Command and control
  • Consumer products
  • Industrial control
  • Military
  • Process control
  • Publishing
Wiki Category:Typesetting software
  • Real time

J.m MISCELLANEOUS

edit

K. COMPUTING MILIEUX

edit

K.0 GENERAL

edit

K.1 THE COMPUTER INDUSTRY

edit
Wiki Category:Computer industry
  • Markets
  • Standards
Wiki Category:Computer and telecommunication standards
  • Statistics
  • Suppliers

K.2 HISTORY OF COMPUTING

edit
Wiki Category:History of computing
  • Hardware
  • People
Wiki Category:Computer pioneers
  • Software
  • Systems
  • Theory

K.3 COMPUTERS AND EDUCATION

edit

K.3.0 General

edit

K.3.1 Computer Uses in Education

edit
  • Collaborative learning
  • Computer-assisted instruction (CAI)
  • Computer-managed instruction (CMI)
  • Distance learning

K.3.2 Computer and Information Science Education

edit
  • Accreditation
  • Computer science education
  • Curriculum
  • Information systems education
  • Literacy
  • Self-assessment

K.3.m Miscellaneous

edit

K.4 COMPUTERS AND SOCIETY

edit

K.4.0 General

edit
Wiki Category:Computing and society

K.4.1 Public Policy Issues

edit
  • Abuse and crime involving computers
  • Computer-related health issues
  • Ethics
  • Human safety
  • Intellectual property rights
  • Privacy
  • Regulation
  • Transborder data flow
  • Use/abuse of power

K.4.2 Social Issues

edit
  • Assistive technologies for persons with disabilities
  • Employment

K.4.3 Organizational Impacts

edit
  • Automation
  • Computer-supported collaborative work
  • Employment
  • Reengineering

K.4.4 Electronic Commerce

edit
See also
#J.1 ADMINISTRATIVE DATA PROCESSING 
  • Cybercash, digital cash
  • Distributed commercial transactions
  • Electronic data interchange (EDI)
  • Intellectual property
  • Payment schemes
  • Security

K.4.m Miscellaneous

edit
edit
Wiki category:Computer law
Wiki Category:United States internet case law
Wiki Category:Computer law

K.5.0 General

edit

K.5.1 Hardware/Software Protection

edit
  • Copyrights
  • Licensing
Wiki category:Software licenses
  • Patents
  • Proprietary rights

K.5.2 Governmental Issues

edit
  • Censorship
  • Regulation
  • Taxation

K.5.m Miscellaneous

edit

K.6 MANAGEMENT OF COMPUTING AND INFORMATION SYSTEMS

edit

K.6.0 General

edit
  • Economics

K.6.1 Project and People Management

edit
  • Life cycle
  • Management techniques (e.g., PERT/CPM)
  • Staffing
  • Strategic information systems planning
  • Systems analysis and design
  • Systems development
  • Training

K.6.2 Installation Management

edit
  • Benchmarks
Wiki Category:Computer benchmarks
  • Computer selection
  • Computing equipment management
  • Performance and usage measurement
  • Pricing and resource allocation

K.6.3 Software Management

edit
See also
#D.2.9 Management 
  • Software development
  • Software maintenance
  • Software process
  • Software selection

K.6.4 System Management

edit
  • Centralization/decentralization
  • Management audit
  • Quality assurance

K.6.5 Security and Protection

edit
See also
#D.4.6 Security and Protection
#K.4.2 Social Issues 
  • Authentication
  • Invasive software (e.g., viruses, worms, Trojan horses)
  • Unauthorized access (e.g., hacking, phreaking)

K.6.m Miscellaneous

edit

K.7 THE COMPUTING PROFESSION

edit
Wiki Category:Computer professionals

K.7.0 General

edit

K.7.1 Occupations

edit

K.7.2 Organizations

edit
Wiki Category:Computer-related organizations

K.7.3 Testing, Certification, and Licensing

edit

K.7.4 Professional Ethics

edit
See also
#K.4 COMPUTERS AND SOCIETY 
  • Codes of ethics
  • Codes of good practice
  • Ethical dilemmas

K.7.m Miscellaneous

edit

K.8 PERSONAL COMPUTING

edit

K.8.0 General

edit
  • Games

K.8.1 Application Packages

edit
  • Data communications
  • Database processing
  • Freeware/shareware
  • Graphics
  • Spreadsheets
  • Word processing

K.8.2 Hardware

edit

K.8.3 Management/Maintenance

edit

K.8.m Miscellaneous

edit

K.m MISCELLANEOUS

edit