Outline of computer science


Computer science is the study of the theoretical foundations of information and computation and their implementation and application in computer systems. One well known subject classification system for computer science is the ACM Computing Classification System devised by the Association for Computing Machinery.
Computer science can be described as all of the following:

Subfields

Mathematical foundations

Algorithms and data structures

Artificial intelligence

Outline of artificial intelligence

Communication and security

Computer architecture

Computer graphics

Concurrent, parallel, and distributed systems

  • Parallel computing – The theory and practice of simultaneous computation; data safety in any multitasking or multithreaded environment.
  • Concurrency (computer science) – Computing using multiple concurrent threads of execution, devising algorithms for solving problems on various processors to achieve maximal speed-up compared to sequential execution.
  • Distributed computing – Computing using multiple computing devices over a network to accomplish a common objective or task, and thereby reducing the latency involved in single processor contributions for any task.

Databases

Outline of databases

Programming languages and compilers

Scientific computing

*

Software engineering

Outline of software engineering

Theory of computation

History

Professions

Data and data structures

Programming paradigms