As a discipline, computer science spans a range of topics from theoretical studies of algorithms and the limits of computation to the practical issues of implementing computing systems in hardware and software. CSAB, formerly called Computing Sciences Accreditation Board – which is made up of representatives of the Association for Computing Machinery (ACM), and the IEEE Computer Society (IEEE-CS)[20] – identifies four areas that it considers crucial to the discipline of computer science: theory of computation, algorithms and data structures, programming methodology and languages, and computer elements and architecture. In addition to these four areas, CSAB also identifies fields such as software engineering, artificial intelligence, computer networking and communication, database systems, parallel computation, distributed computation, computer-human interaction, computer graphics, operating systems, and numerical and symbolic computation as being important areas of computer science.[18]
Theoretical computer science
Main article: Theoretical computer science
The broader field of theoretical computer science encompasses both the classical theory of computation and a wide range of other topics that focus on the more abstract, logical, and mathematical aspects of computing.
Theory of computation
Main article: Theory of computation
According to Peter J. Denning, the fundamental question underlying computer science is,
"What can be (efficiently) automated?"[8] The study of the theory of computation is focused on answering fundamental questions about what can be computed and what amount of resources are required to perform those computations. In an effort to answer the first question, computability theory examines which computational problems are solvable on various theoretical models of computation. The second question is addressed by computational complexity theory, which studies the time and space costs associated with different approaches to solving a multitude of computational problems.
The famous "P=NP?" problem, one of the Millennium Prize Problems,
[21] is an open problem in the theory of computation.
 |  | P = NP ? | GNITIRW-TERCES |  |
| Automata theory | Computability theory | Computational complexity theory | Cryptography | Quantum computing theory |
Information and coding theory
Main articles: Information theory and Coding theory
Information theory is related to the quantification of information.This was developed by Claude E. Shannon to find fundamental limits on signal processing operations such as compressing data and on reliably storing and communicating data. Coding theory is the study of the properties of codes and their fitness for a specific application. Codes are used for data compression, cryptography, error-correction and more recently also for network coding. Codes are studied for the purpose of designing efficient and reliable data transmission methods.
Algorithms and data structures
| O(n2) |  |  |  |
| Analysis of algorithms | Algorithms | Data structures | Computational geometry |
Programming language theory
Main article: Programming language theory
Programming language theory is a branch of computer science that deals with the design, implementation, analysis, characterization, and classification of programming languages and their individual features. It falls within the discipline of computer science, both depending on and affecting mathematics, software engineering and linguistics. It is a well-recognized branch of computer science, and an active research area, with results published in numerous journals dedicated to PLT, as well as in general computer science and engineering publications.
 |  |  |
| Type theory | Compiler design | Programming languages |
0 Response to "Areas of computer science"
Post a Comment