In its most general sense, computer science (*CS*) is the study of computation, both hardware and software. In practice, CS includes a variety of topics relating to computers, which range from the abstract analysis of algorithms to more concrete subjects like programming languages, software, and computer hardware.

The Church-Turing thesis states that all known kinds of general computing devices are essentially equivalent in what they can do, though they vary in efficiency. This thesis is sometimes characterized as the fundamental principle of computer science. Computer scientists usually emphasize von Neumann machines (computers that do one small task at a time), because that resembles most real computers in use today. Computer scientists also study other kinds of machines, some practical (like parallel and quantum machines) and some theoretical (like random and oracle machines).

CS studies what programs can and cannot do (computability and artificial intelligence), how programs should efficiently evaluate specific results (algorithms), how programs should store and retrieve specific bits of information (data structures), and how programs should communicate with people (user interfaces and programming languages).

CS has roots in electrical engineering, mathematics and linguistics. In the last third of the 20th century computer science has become recognized as a distinct discipline and has developed its own methods and terminologies.

The first computer science department was founded at Purdue University in 1962. Most universities have CS departments, today.

Related fields

Computer science is closely related to several other fields. These fields overlap considerably, though important differences exist.

This article is licensed under the GNU Free Documentation License. It uses material from the Wikipedia article "Computer_science"