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.0 GENERAL
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
Wiki Category:Computer books,

A.2 REFERENCE (e.g., dictionaries, encyclopedias, glossaries)
Wiki Category:Computer science reference

B.0 GENERAL
Wiki category:Computer engineering

B.1 CONTROL STRUCTURES AND MICROPROGRAMMING
See also 

B.1.4 Microprogram Design Aids
See also , , , )
 * Languages and compilers
 * Optimization

B.1.5 Microcode Applications

 * Instruction set interpretation

B.2.1 Design Styles
See also  
 * Parallel
 * Pipeline

B.2.4 High-Speed Arithmetic

 * Algorithms
 * Cost/performance

B.3.1 Semiconductor Memories
See also 
 * Dynamic memory (DRAM)
 * Read-only memory (ROM)
 * Static memory (SRAM)

B.3.2 Design Styles
See also 
 * Associative memories
 * Cache memories
 * Mass storage (e.g., magnetic, optical, RAID)
 * Primary memory
 * Shared memory
 * Virtual memory

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
 * Parallel I/O
 * Topology (e.g., bus, point-to-point)

B.5.1 Design

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

B.5.2 Design Aids

 * Automatic synthesis
 * Hardware description languages
 * Optimization
 * Simulation
 * Verification

B.6.1 Design Styles

 * Cellular arrays and automata
 * Combinational logic
 * Logic arrays
 * Parallel circuits
 * Sequential circuits

B.6.3 Design Aids

 * Automatic synthesis
 * Hardware description languages
 * Optimization
 * Simulation
 * Switching theory
 * Verification

B.7.1 Types and Design Styles

 * 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

 * Graphics
 * Layout
 * Placement and routing
 * Simulation
 * Verification

B.8 PERFORMANCE AND RELIABILITY
See also 

B.m MISCELLANEOUS

 * Design management

C. COMPUTER SYSTEMS ORGANIZATION
Wiki category:Computer architecture

C.0 GENERAL

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

C.1.1 Single Data Stream Architectures

 * RISC/CISC, VLIW 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)
 * Single-instruction-stream, multiple-data-stream processors (SIMD)

C.1.3 Other Architecture Styles

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

C.1.4 Parallel Architectures

 * Distributed architectures
 * Mobile processors

C.2.0 General
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

 * 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

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

C.2.3 Network Operations

 * Network management
 * Network monitoring
 * Public networks

C.2.4 Distributed Systems

 * Client/server
 * Distributed applications
 * Distributed databases
 * Network operating systems

C.2.5 Local and Wide-Area Networks

 * 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
See also 
 * Routers
 * Standards (e.g., TCP/IP)
 * C.2.m Miscellaneous

C.3 SPECIAL-PURPOSE AND APPLICATION-BASED SYSTEMS
See also 
 * Microprocessor/microcomputer applications
 * Process control systems
 * Real-time and embedded systems
 * Signal processing systems
 * Smartcards

C.4 PERFORMANCE OF SYSTEMS

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

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

 * Super (very large) computers

C.5.3 Microcomputers

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

D. Software
Wiki category:Software Wiki Category:Programming

D.1 PROGRAMMING TECHNIQUES
See also 

Wiki Category:Programming paradigms

D.1.1 Applicative (Functional) Programming
Wiki Category:Functional programming

D.1.2 Automatic Programming
See also 

D.1.3 Concurrent Programming

 * Distributed programming
 * Parallel programming

D.1.5 Object-oriented Programming
Wiki Category:Object-oriented programming

D.1.6 Logic Programming
Wiki Category:Logic programming

D.1.m Miscellaneous
Wiki Category:Aspect-oriented programming

D.2 SOFTWARE ENGINEERING
See also 

Wiki Category:Software engineering

D.2.0 General
See also 

Wiki Category:Software development Wiki Category:Software engineering disasters Wiki Category:Software engineering papers


 * Protection mechanisms
 * Standards

D.2.1 Requirements/Specifications
See also 
 * Elicitation methods (e.g., rapid prototyping, interviews, JAD)
 * Languages
 * Methodologies (e.g., object-oriented, structured)
 * Tools

D.2.2 Design Tools and Techniques

 * 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

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

D.2.4 Software/Program Verification
See also 

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
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

 * Graphical environments
 * Integrated environments
 * Interactive environments
 * Programmer workbench

D.2.7 Distribution, Maintenance, and Enhancement
Wiki category:Documentation generators Wiki Category:Version_control systems


 * Documentation
 * Portability
 * Restructuring, reverse engineering, and reengineering
 * Version control

D.2.8 Metrics
See also 

Wiki category:Software metrics
 * Complexity measures
 * Performance measures
 * Process metrics
 * Product metrics

D.2.9 Management
See also  
 * 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
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

 * Data mapping
 * Distributed objects
 * Interface definition languages

D.2.13 Reusable Software

 * Domain engineering
 * Reusable libraries
 * Reuse models

D.3 PROGRAMMING LANGUAGES
Wiki Category:Programming languages

D.3.0 General
Wiki Category:Lists of programming languages
 * Standards

D.3.1 Formal Definitions and Theory
See also     
 * Semantics
 * Syntax

D.3.2 Language Classifications
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
See also 
 * 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

 * 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.4 OPERATING SYSTEMS
See also 

Wiki Category:System software Wiki Category:Operating systems

D.4.1 Process Management

 * Concurrency
 * Deadlocks
 * Multiprocessing/multiprogramming/multitasking
 * Mutual exclusion
 * Scheduling
 * Synchronization
 * Threads

D.4.2 Storage Management

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

D.4.3 File Systems Management
See also 
 * Access methods
 * Directory structures
 * Distributed file systems
 * File organization

D.4.4 Communications Management
See also 
 * Buffering
 * Input/output
 * Message sending
 * Network communication

D.4.5 Reliability

 * Backup procedures
 * Checkpoint/restart
 * Fault-tolerance
 * Verification

D.4.6 Security and Protection
See also  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

 * Distributed systems
 * Interactive systems
 * Real-time systems and embedded systems

D.4.8 Performance
See also   
 * Measurements
 * Modeling and prediction
 * Monitors
 * Operational analysis
 * Queueing theory
 * Simulation
 * Stochastic analysis

D.4.9 Systems Programs and Utilities

 * Command and control languages
 * Window managers

E. DATA
Wiki category:Computer data Wiki Category:Computer storage

E.1 DATA STRUCTURES
Wiki category:Data structures Wiki category:Trees (structure)
 * Arrays
 * Distributed data structures
 * Graphs and networks
 * Lists, stacks, and queues
 * Records
 * Trees

E.2 DATA STORAGE REPRESENTATIONS
Wiki category:Hashing
 * Hash-table representations
 * Linked representations
 * Object representation

E.3 DATA ENCRYPTION
Wiki category:Cryptography Wiki Category:Cryptography standards Wiki Category:PGP
 * Code breaking
 * Public key cryptosystems
 * Standards (e.g., DES, PGP, RSA)

E.4 CODING AND INFORMATION THEORY
See also : Wiki Category:Information_theory, Wiki Category:Coding_theory Wiki Category:Data_compression Wiki Category:Error_detection_and_correction Wiki Category:Communication_theory
 * Data compaction and compression
 * Error control codes
 * Formal models of communication

E.5 FILES
See also   

Wiki Category:Computer file systems Wiki category:Data management Wiki Category:Computer file formats Wiki Category:File managers
 * Backup/recovery
 * Organization/structure
 * Sorting/searching

F. THEORY OF COMPUTATION
Wiki Category:Theory of computation Wiki Category:Theoretical computer science

F.1.1 Models of Computation
See also  Wiki category:Computational models Wiki category:Cellular automata
 * 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)

F.1.2 Modes of Computation
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
See also  Wiki Category:Computational complexity theory
 * Complexity hierarchies
 * Reducibility and completeness
 * Relations among complexity classes
 * Relations among complexity measures

F.2 ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY
See also    Wiki category:analysis of algorithms

F.2.1 Numerical Algorithms and Problems
See also   

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
See also       

Wiki category:Algorithms Wiki Category:Sort algorithms Wiki Category:Search algorithms
 * 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 between Complexity Measures
See also 

Wiki Category:Analysis of algorithms

F.3.1 Specifying and Verifying and Reasoning about Programs
See also    

Wiki category:Formal methods
 * Assertions
 * Invariants
 * Logics of programs
 * Mechanical verification
 * Pre- and post-conditions
 * Specification techniques

F.3.2 Semantics of Programming Languages
See also 
 * Algebraic approaches to semantics
 * Denotational semantics
 * Operational semantics
 * Partial evaluation
 * Process models
 * Program analysis

F.3.3 Studies of Program Constructs
See also   Wiki category:Programming constructs
 * Control primitives
 * Functional constructs
 * Object-oriented constructs
 * Program and recursion schemes
 * Type structure

F.4.1 Mathematical Logic
See also    

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
See also 

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
See also 

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

G.1.0 General

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

G.1.1 Interpolation
See also  
 * Extrapolation
 * Interpolation formulas
 * Smoothing
 * Spline and piecewise polynomial interpolation

G.1.2 Approximation

 * 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

 * 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
See also 
 * 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

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

G.1.6 Optimization

 * 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

 * 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

 * 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

 * Delay equations
 * Fredholm equations
 * Integro-differential equations
 * Volterra equations

G.2.1 Combinatorics
See also 
 * Combinatorial algorithms
 * Counting problems
 * Generating functions
 * Permutations and combinations
 * Recurrences and difference equations

G.2.2 Graph Theory
See also 
 * Graph algorithms
 * Graph labeling
 * Hypergraphs
 * Network problems
 * Path and circuit problems
 * Trees

G.3 PROBABILITY AND STATISTICS

 * 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

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

H.1.1 Systems and Information Theory
See also 

Wiki category:Information science Wiki category:Information technology Wiki category:Systems theory
 * General systems theory
 * Information theory
 * Value of information

H.1.2 User/Machine Systems

 * Human factors
 * Human information processing
 * Software psychology

H.2 DATABASE MANAGEMENT
See also 

H.2.0 General
Wiki category:Database management systems

H.2.1 Logical Design
Wiki category:Data modeling
 * Data models
 * Normal forms
 * Schema and subschema

H.2.2 Physical Design

 * Access methods
 * Deadlock avoidance
 * Recovery and restart

H.2.3 Languages
See also  Wiki category:SQL Wiki category:Query languages
 * Data description languages (DDL)
 * Data manipulation languages (DML)
 * Database (persistent) programming languages
 * Query languages
 * Report writers

H.2.4 Systems

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

H.2.7 Database Administration

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

H.2.8 Database Applications
Wiki category:Knowledge discovery in databases
 * Data mining
 * Image databases
 * Scientific databases
 * Spatial databases and GIS
 * Statistical databases

H.3.1 Content Analysis and Indexing

 * Abstracting methods
 * Dictionaries
 * Indexing methods
 * Linguistic processing
 * Thesauruses

H.3.2 Information Storage

 * File organization

H.3.3 Information Search and Retrieval

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

H.3.4 Systems and Software

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

H.3.5 Online Information Services

 * Commercial services
 * Data sharing
 * Web-based services

H.3.6 Library Automation

 * Large text archives

H.3.7 Digital Libraries

 * Collection
 * Dissemination
 * Standards
 * Systems issues
 * User issues

H.4.1 Office Automation
See also 
 * Desktop publishing
 * Groupware
 * Spreadsheets
 * Time management (e.g., calendars, schedules)
 * Word processing
 * Workflow management

H.4.2 Types of Systems

 * Decision support (e.g., MIS)
 * Logistics

H.4.3 Communications Applications

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

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

H.5.0 General
Wiki Category:Human-computer interaction

H.5.1 Multimedia Information Systems

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

H.5.2 User Interfaces
See also   

Wiki category:Ergonomics
 * Auditory (non-speech) feedback
 * Benchmarking
 * 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

 * 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
See also  
 * Architectures
 * Navigation
 * Theory
 * User issues

H.5.5 Sound and Music Computing
See also 
 * Methodologies and techniques
 * Modeling
 * Signal analysis, synthesis, and processing
 * Systems

I.1.0 General
Wiki category:Computer algebra

I.1.1 Expressions and Their Representation
See also  
 * Representations (general and polynomial)
 * Simplification of expressions

I.1.2 Algorithms
See also  

Wiki Category:Algorithms
 * Algebraic algorithms
 * Analysis of algorithms
 * Nonalgebraic algorithms

I.1.3 Languages and Systems
See also   
 * Evaluation strategies
 * Special-purpose algebraic systems

I.2.0 General
Wiki category:Artificial intelligence
 * Cognitive simulation
 * Philosophical foundations

I.2.1 Applications and Expert Systems
See also  
 * Cartography
 * Games
 * Industrial automation
 * Law
 * Medicine and science
 * Natural language interfaces
 * Office automation

I.2.2 Automatic Programming
See also   
 * Automatic analysis of algorithms
 * Program modification
 * Program synthesis
 * Program transformation
 * Program verification

I.2.3 Deduction and Theorem Proving
See also 
 * 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
See also 
 * 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
See also 
 * Expert system tools and techniques

I.2.6 Learning
See also 
 * Analogies
 * Concept learning
 * Connectionism and neural nets
 * Induction
 * Knowledge acquisition
 * Language acquisition
 * Parameter learning

I.2.7 Natural Language Processing
Wiki Category:Natural language processing WikiCategory:Speech recognition
 * 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
See also  Wiki Category:Control theory
 * Backtracking
 * Control theory
 * Dynamic programming
 * Graph and tree search strategies
 * Heuristic methods
 * Plan execution, formation, and generation
 * Scheduling

I.2.9 Robotics
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
See also  

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

 * Coherence and coordination
 * Intelligent agents
 * Languages and structures
 * Multiagent systems

I.3.0 General
Wiki category:Computer graphics

I.3.1 Hardware Architecture
See also 
 * Graphics processors
 * Input devices
 * Parallel processing
 * Raster display devices

I.3.2 Graphics Systems
See also   
 * Distributed/network graphics

I.3.3 Picture/Image Generation

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

I.3.4 Graphics Utilities

 * Application packages
 * Graphics editors
 * Graphics packages
 * Paint systems
 * Software support
 * Virtual device interfaces

I.3.5 Computational Geometry and Object Modeling

 * 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

 * Ergonomics
 * Graphics data structures and data types
 * Interaction techniques
 * Languages
 * Standards

I.3.7 Three-Dimensional Graphics and Realism
Wiki Category:3D computer graphics Wiki Category:Fractals
 * Animation
 * Color, shading, shadowing, and texture
 * Fractals
 * Hidden line/surface removal
 * Radiosity
 * Raytracing
 * Virtual reality
 * Visible line/surface algorithms

I.4.0 General

 * Image displays
 * Image processing software

I.4.1 Digitization and Image Capture

 * Camera calibration
 * Imaging geometry
 * Quantization
 * Radiometry
 * Reflectance
 * Sampling
 * Scanning

I.4.2 Compression (Coding)
See also 
 * Approximate methods

I.4.3 Enhancement

 * Filtering
 * Geometric correction
 * Grayscale manipulation
 * Registration
 * Smoothing

I.4.4 Restoration

 * Kalman filtering

I.4.5 Reconstruction

 * Series expansion methods
 * Transform methods

I.4.6 Segmentation

 * Edge and feature detection
 * Pixel classification
 * Region growing, partitioning
 * Relaxation

I.4.7 Feature Measurement

 * Feature representation
 * Invariants
 * Moments
 * Projections
 * Size and shape
 * Texture

I.4.8 Scene Analysis

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

I.4.10 Image Representation

 * Hierarchical
 * Morphological
 * Multidimensional
 * Statistical
 * Volumetric

I.5.1 Models

 * 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
See also 
 * Interactive systems
 * Special architectures

I.6 SIMULATION AND MODELING
See also 

I.6.0 General
Wiki category:Scientific modeling, Wiki category:Computational science

I.6.1 Simulation Theory
Wiki category:Systems theory, Wiki category:Systems
 * Model classification
 * Systems theory

I.6.5 Model Development

 * Modeling methodologies

I.6.7 Simulation Support Systems

 * Environments

I.6.8 Types of Simulation
Wiki Category:Monte Carlo method
 * Animation
 * Combined
 * Continuous
 * Discrete event
 * Distributed
 * Gaming
 * Monte Carlo
 * Parallel
 * Visual

I.7 DOCUMENT AND TEXT PROCESSING
See also  

I.7.0 General
Wiki category:Word processors

I.7.1 Document and Text Editing

 * Document management
 * Version control

I.7.2 Document Preparation
Wiki Category:Hypertext Wiki Category:Markup languages Wiki Category:Scripting languages
 * Desktop publishing
 * Format and notation
 * Hypertext/hypermedia
 * Index generation
 * Languages and systems
 * Markup languages
 * Multi/mixed media
 * Photocomposition/typesetting
 * Scripting languages
 * Standards

I.7.4 Electronic Publishing
See also  

I.7.5 Document Capture
See also 
 * Document analysis
 * Graphics recognition and interpretation
 * Optical character recognition (OCR)
 * Scanning

J.0 GENERAL
Wiki category:Application software

J.1 ADMINISTRATIVE DATA PROCESSING

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

J.2 PHYSICAL SCIENCES AND ENGINEERING

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

J.3 LIFE AND MEDICAL SCIENCES

 * Biology and genetics
 * Health
 * Medical information systems

J.4 SOCIAL AND BEHAVIORAL SCIENCES

 * Economics
 * Psychology
 * Sociology

J.5 ARTS AND HUMANITIES
Wiki Category:Musical software
 * Architecture
 * Fine arts
 * Language translation
 * Linguistics
 * Literature
 * Performing arts (e.g., dance, music)

J.6 COMPUTER-AIDED ENGINEERING
Wiki Category:Computer-aided design software
 * Computer-aided design (CAD)
 * Computer-aided manufacturing (CAM)

J.7 COMPUTERS IN OTHER SYSTEMS
See also  Wiki Category:Typesetting software
 * Command and control
 * Consumer products
 * Industrial control
 * Military
 * Process control
 * Publishing
 * Real time

K.1 THE COMPUTER INDUSTRY
Wiki Category:Computer industry Wiki Category:Computer and telecommunication standards
 * Markets
 * Standards
 * Statistics
 * Suppliers

K.2 HISTORY OF COMPUTING
Wiki Category:History of computing Wiki Category:Computer pioneers
 * Hardware
 * People
 * Software
 * Systems
 * Theory

K.3.1 Computer Uses in Education

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

K.3.2 Computer and Information Science Education

 * Accreditation
 * Computer science education
 * Curriculum
 * Information systems education
 * Literacy
 * Self-assessment

K.4.0 General
Wiki Category:Computing and society

K.4.1 Public Policy Issues

 * 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

 * Assistive technologies for persons with disabilities
 * Employment

K.4.3 Organizational Impacts

 * Automation
 * Computer-supported collaborative work
 * Employment
 * Reengineering

K.4.4 Electronic Commerce
See also 
 * Cybercash, digital cash
 * Distributed commercial transactions
 * Electronic data interchange (EDI)
 * Intellectual property
 * Payment schemes
 * Security

K.5 LEGAL ASPECTS OF COMPUTING
Wiki category:Computer law Wiki Category:United States internet case law Wiki Category:Computer law

K.5.1 Hardware/Software Protection
Wiki category:Software licenses
 * Copyrights
 * Licensing
 * Patents
 * Proprietary rights

K.5.2 Governmental Issues

 * Censorship
 * Regulation
 * Taxation

K.6.0 General

 * Economics

K.6.1 Project and People Management

 * 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
Wiki Category:Computer benchmarks
 * Benchmarks
 * Computer selection
 * Computing equipment management
 * Performance and usage measurement
 * Pricing and resource allocation

K.6.3 Software Management
See also 
 * Software development
 * Software maintenance
 * Software process
 * Software selection

K.6.4 System Management

 * Centralization/decentralization
 * Management audit
 * Quality assurance

K.6.5 Security and Protection
See also  
 * Authentication
 * Invasive software (e.g., viruses, worms, Trojan horses)
 * Unauthorized access (e.g., hacking, phreaking)

K.7 THE COMPUTING PROFESSION
Wiki Category:Computer professionals

K.7.2 Organizations
Wiki Category:Computer-related organizations

K.7.4 Professional Ethics
See also 
 * Codes of ethics
 * Codes of good practice
 * Ethical dilemmas

K.8.0 General

 * Games

K.8.1 Application Packages

 * Data communications
 * Database processing
 * Freeware/shareware
 * Graphics
 * Spreadsheets
 * Word processing