Outline of computer science

From Wiki @ Karl Jones dot com
Jump to: navigation, search

The following outline is provided as an overview of and topical guide to computer science:

Computer science (also called computing 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.

What type of thing is computer science?

Computer science can be described as all of the following:

Web programming and web designing

Mathematical foundations

Algorithms and data structures

Artificial intelligence

Main article: Outline of artificial intelligence

  • Artificial intelligence – The implementation and study of systems that exhibit an autonomous intelligence or behavior of their own.
  • Automated reasoning – Solving engines, such as used in Prolog, which produce steps to a result given a query on a fact and rule database, and automated theorem provers that aim to prove mathematical theorems with some assistance from a programmer.
  • Computer vision – Algorithms for identifying three-dimensional objects from a two-dimensional picture.
  • Machine learning – Automated creation of a set of rules and axioms based on input.
  • Natural language processing - Building systems and algorithms that analyze, understand, and generate natural (human) languages.
  • Robotics – Algorithms for controlling the behavior of robots.

Communication and security

Computer architecture

  • Computer architecture – The design, organization, optimization and verification of a computer system, mostly about CPUs and Memory subsystem (and the bus connecting them).
  • Operating systems – Systems for managing computer programs and providing the basis of a usable system.

Computer graphics

  • Computer graphics – Algorithms both for generating visual images synthetically, and for integrating or altering visual and spatial information sampled from the real world.
  • Image processing – Determining information from an image through computation.

Concurrent, parallel, and distributed systems

  • Concurrency – The theory and practice of simultaneous computation; data safety in any multitasking or multithreaded environment.
  • Parallel computing – Computing using multiple concurrent threads of execution, devising algorithms for solving problems on multiple 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

  • Relational databases – the set theoretic and algorithmic foundation of databases.
  • Structured Storage - non-relational databases such as NoSQL databases.
  • Data mining – Study of algorithms for searching and processing information in documents and databases; closely related to information retrieval.

Programming languages and compilers

Scientific computing

Software engineering

Theory of computation

Main article: Theory of computation

History of computer science

See History of computer science

Fields

Basic concepts

Programming paradigms

Classes and objects

See also

External links