acm computing classification system the acm computing classification system ccs is a subject classification system for computing devised by the association for computing machinery acm the system is comparable to the mathematics subject classification msc in scope aims and structure being used by the various acm journals to organise subjects by area history the system has gone through seven revisions the first version being published in 1964 and revised versions appearing in 1982 1983 1987 1991 1998 and the now current version in 2012 structure the acm computing classification system version 2012 has a revolutionary change in some areas for example in software that now is called software and its engineering which has three main subjects software organization and properties this subject addresses properties of the software itself software notations and tools this subject covers programming languages and other tools for writing programs software creation and management this subject covers human activities including software management it is hierarchically structured in four levels thus for example one branch of the hierarchy contains computing methodologies artificial intelligence knowledge representation and reasoning ontology engineering vteacm computing classification systemthe 2012 version of the acm classification has the following main categoriesgeneral and referencedocument types crosscomputing tools and techniqueshardwareprinted circuit boards communication hardware interfaces and storage integrated circuits very large scale integration design power and energy electronic design automation hardware validation hardware test robustness emerging technologiescomputer systems organizationarchitectures embedded and cyberphysical systems realtime systems dependable and faulttolerant systems and networksnetworksnetwork architectures network protocols network components network algorithms network performance evaluation network properties network services network typessoftware and its engineeringsoftware organization and properties software notations and tools software creation and managementtheory of computationmodels of computation formal languages and automata theory computational complexity and cryptography logic design and analysis of algorithms randomness geometry and discrete structures theory and algorithms for application domains semantics and reasoningmathematics of computingdiscrete mathematics probability and statistics mathematical software information theory mathematical analysis continuous mathematicsinformation systemsdata management systems information storage systems information systems applications world wide web information retrievalsecurity and privacycryptography formal methods and theory of security security services intrusionanomaly detection and malware mitigation security in hardware systems security network security database and storage security software and application security human and societal aspects of security and privacyhumancentered computinghumancomputer interaction interaction design collaborative and social computing ubiquitous and mobile computing visualization accessibilitycomputing methodologiessymbolic and algebraic manipulation parallel computing methodologies artificial intelligence machine learning modeling and simulation computer graphics distributed computing methodologies concurrent computing methodologiesapplied computingelectronic commerce enterprise computing physical sciences and engineering life and medical sciences law social and behavioral sciences computer forensics arts and humanities computers in other domains operations research education document management and text processingsocial and professional topicsprofessional topics computingtechnology policy user characteristicsproper nouns people technologies and companiescompanies organizations people in computing technologies vtemajor fields of computer sciencenote this template roughly follows the 2012 acm computing classification systemhardware printed circuit board peripheral integrated circuit very large scale integration systems on chip socs energy consumption green computing electronic design automation hardware acceleration computer systemsorganization computer architecture embedded system realtime computing dependability networks network architecture network protocol network components network scheduler network performance evaluation network service software organization interpreter middleware virtual machine operating system software quality software notationsand tools programming paradigm programming language compiler domainspecific language modeling language software framework integrated development environment software configuration management software library software repository software development software development process requirements analysis software design software construction software deployment software maintenance programming team opensource model theory of computation model of computation formal language automata theory computational complexity theory logic semantics algorithms algorithm design analysis of algorithms algorithmic efficiency randomized algorithm computational geometry mathematicsof computing discrete mathematics probability statistics mathematical software information theory mathematical analysis numerical analysis informationsystems database management system information storage systems enterprise information system social information systems geographic information system decision support system process control system multimedia information system data mining digital library computing platform digital marketing world wide web information retrieval security cryptography formal methods security services intrusion detection system hardware security network security information security application security humancomputerinteraction interaction design social computing ubiquitous computing visualization accessibility concurrency concurrent computing parallel computing distributed computing multithreading multiprocessing artificialintelligence natural language processing knowledge representation and reasoning computer vision automated planning and scheduling search methodology control method philosophy of artificial intelligence distributed artificial intelligence machine learning supervised learning unsupervised learning reinforcement learning multitask learning crossvalidation graphics animation rendering image manipulation graphics processing unit mixed reality virtual reality image compression solid modeling appliedcomputing ecommerce enterprise software computational mathematics computational physics computational chemistry computational biology computational social science computational engineering computational healthcare digital art electronic publishing cyberwarfare electronic voting video games word processing operations research educational technology document management book category portal wikiproject commons computer science portal mathematics subject classification msc physics and astronomy classification scheme pacs arxiv a preprint server that uses a somewhat different subdivision of topics in its computer science subject areas but also allows papers to be classified using the acm system physh physics subject headings coulter neal 1997 acms computing classification system reflects changing times communications of the acm new york ny usa acm 40 12 111112 doi101145265563265579 coulter neal chair french james glinert ephraim horton thomas mead nancy ralston anthony rada roy rodkin craig rous bernard tucker allen wegner peter weiss eric wierzbicki carol january 21 1998 computing classification system 1998 current status and future maintenance report of the ccs update committee pdf computing reviews new york ny usa acm 15 mirkin boris nascimento susana pereira luis moniz 2008 representing a computer science research organization on the acm computing classification system in eklund peter haemmerl ollivier supplementary proceedings of the 16th international conference on conceptual structures iccs2008 pdf ceur workshop proceedings 354 rwth aachen university pp5765 acm computing classification system is the homepage of the system including links to four complete versions of the system for 1964 the acm computing research repository uses a classification scheme that is much coarser than the acm subject classification and does not cover all areas of cs but is intended to better cover active areas of research in addition papers in this repository are classified according to the acm subject classification this computer science article is a stub you can help wikipedia by expanding itvte 