Computer science (academically, CS, CSC or compsci) encompasses a variety of topics that relates to computation, like abstract analysis of algorithms, formal grammars, and subjects such as programming languages, program design, software and computer hardware. A computer is one that computes, where com- (with, together) joins putare (Latin root, to reckon, to think, or section as in to compare pieces), so by definition, computer science (Latin: scientia, knowledge) is the accumulated knowledge through scientific methodology by computation or by the use of the computer.

Computer scientists study what programs can and cannot do (computability), how programs can efficiently perform specific tasks (algorithms and complexity), how programs should store and retrieve specific kinds of information (see data structures and databases), how programs might behave intelligently (see artificial intelligence), and how programs and people should communicate with each other (see human-computer interaction and user interfaces).

The following definition of computer science (aka computing) is given in the ACM report Computing As a Discipline:

The discipline of computing is the systematic study of algorithmic processes that describe and transform information: their theory, analysis, design, efficiency, implementation, and application. The fundamental question underlying all the computing is 'What can be (efficiently) automated?'
Most research in computer science has focused on von Neumann computers or Turing machines (computation models that perform one small, deterministic step at a time). These models resemble, at a basic level, most real computers in use today. Computer scientists also study other models of computation, which includes parallel machines and theoretical models such as probabilistic, oracle, and quantum computers.

Edsger Dijkstra said: "Computer science is no more about computers than astronomy is about telescopes."

The renowned physicist Richard Feynman said:   "Computer science is not as old as physics; it lags by a couple of hundred years. However, this does not mean that there is significantly less on the computer scientist's plate than on the physicist's: younger it may be, but it has had a far more intense upbringing! "

Computer science has roots in electrical engineering, mathematics, and linguistics. In the last third of the 20th century computer science emerged as a distinct discipline and developed its own methods and terminology. Originally, CS was taught as part of mathematics or engineering departments, for instance at the University of Cambridge in England and at the Gdansk University of Technology in Poland, respectively. Cambridge claims to have the world's oldest taught qualification in computing. The first computer science department in the United States was founded at Purdue University in 1962, while the first college entirely devoted to computer science was founded at Northeastern University in 1980. Most universities today have specific departments devoted to computer science, while some conjoin it with engineering, with applied mathematics, or other disciplines.

Related fields

Computer science is closely related to a number of fields. These fields overlap considerably, though important differences exist:

  1. Computer engineering is the analysis, design, and construction of computer hardware.
  2. Computer graphics is the field of visual computing, where one uses computers both to generate visual images synthetically and to integrate or alter visual and spatial information sampled from the real world.
  3. Computer programming is the act of writing program code.
  4. Information science or Informatics is the study of data and information, which includes how to create, interpret, analyze, store, retrieve, transfer, and manage it. Information science started as the scientific foundation for communication and databases. It also concerns about the ways people generate, use and find information.
  5. Information security is the analysis and implementation of information system security, like cryptography.
  6. Information systems (IS) is the application of computing to support the operations of an organization: operating, installing, and maintaining the computers, software, and data.
  7. Lexicography focus on the study of lexicographic reference works and include the study of electronic and Internet-based dictionaries.
  8. Linguistics is the study of languages; it converges with computer science in such areas as programming language design and natural language processing.
  9. Logic is a formal system of reasoning, and studies principles that lay at the basis of computing machines, whether it be the hardware (digital logic) or software (verification, AI etc.) levels.
  10. Management information systems (MIS) is a subfield of information systems, that emphasizes financial and personnel management.
  11. Mathematics shares many techniques and topics with computer science, but is more general. Theoretical computer science is the mathematics of computing.
  12. Software engineering emphasizes analysis, design, construction, and testing of useful software. Software engineering includes development methodologies (such as the waterfall model and extreme programming) and project management.
  13. Information Technology
  14. Computing